static void Main ( ) {
Console. WriteLine ( "[Matriz 1]" ) ;
Console. Write ( "Filas: " ) ;
int f1 = int . Parse ( Console. ReadLine ( ) ) ;
Console. Write ( "Columnas: " ) ;
int c1 = int . Parse ( Console. ReadLine ( ) ) ;
Console. WriteLine ( " \n [Matriz 2]" ) ;
Console. Write ( "Filas: " ) ;
int f2 = int . Parse ( Console. ReadLine ( ) ) ;
Console. Write ( "Columnas: " ) ;
int c2 = int . Parse ( Console. ReadLine ( ) ) ;
int [ , ] Matriz1 = new int [ f1 + 1 , c1 + 1 ] ; // EN ESTA LINEA DECLARAMOS LA MATRIZ 1 E INCREMENTA LAS COLUMNAS Y FILAS// int [ , ] Matriz2 = new int [ f2 + 1 , c2 + 1 ] ; //EN ESTA LINEA DECLARAMOS LA MATRIZ 2 E INCREMENTA LAS COLUMNAS Y FILAS// int [ , ] Multiplicacion = new int [ f1 + 1 , c2 + 1 ] ;//SE DECLARA LA VARIABLE MULTIPLICACION Y SE INCREMENTA LAS COLUMNAS Y FILAS//
if ( c1 == f2 ) {//ESTE IF PERMITE QUE LA MATRIZ SE MULTIPLEQUE SI LAS COLUMNAS DE LA MATRIZ 1 SEAN IGUALES A LAS FILAS DE LA MATRIZ 2//
Console. WriteLine ( " \n Datos [Matriz 1]: " ) ;
for ( int i = 1 ; i <= f1 ; i ++ ) { //SE USAN DOS FOR ANIDADOS PARA PODER LLENAR LA MATRIZ Y FUNCIONARA CUANDO J SEA MENOR O IGUAL A C1 QUE ES EL NUMERO DE COLUMNAS DE LA MATRIZ 1//
for ( int j = 1 ; j <= c1 ; j ++ ) {
Console. Write ( "Ingresa Dato (Fila: {0} - Columna: {1}): " , i, j ) ;
Matriz1 [ i, j ] = int . Parse ( Console. ReadLine ( ) ) ; } }
Console. WriteLine ( "Datos [Matriz 2]: " ) ;
for ( int i = 1 ; i <= f2 ; i ++ ) {
for ( int j = 1 ; j <= c2 ; j ++ ) {
Console. Write ( "Ingresa Dato (Fila: {0} - Columna: {1}): " , i, j ) ;
Matriz2 [ i, j ] = int . Parse ( Console. ReadLine ( ) ) ;
} }
for ( int i = 1 ; i <= f1 ; i ++ ) {
for ( int j = 1 ; j <= c2 ; j ++ ) {
Multiplicacion [ i, j ] = 0 ;//AQUI SE VA ALMACENAR EL RESULTADO DE LA MULTIPLICACION DE LA MATRIZ//
for ( int z = 1 ; z <= c1 ; z ++ ) {
Multiplicacion [ i, j ] = Matriz1 [ i, z ] * Matriz2 [ z, j ] + Multiplicacion [ i, j ] ; //AQUI REALIZAMOS LA MULTIPLICACION DE LAS MATRICES//
} } }
Console. WriteLine ( "Multiplicacion de 2 Matrices" ) ;
for ( int i = 1 ; i <= f1 ; i ++ ) {
for ( int j = 1 ; j <= c2 ; j ++ ) {
Console. Write ( "{0} " , Multiplicacion [ i, j ] ) ;
}
Console. WriteLine ( ) ;
} } else { Console. WriteLine ( "Error: No se puede multiplicar las matrices" + " Columnas: {0}! = Filas: {1}" , c1, f2 ) ; //EN ESTE ELSE MUESTRA EL MENSAJE DE ERROR CUANDO NO SE CUMPLE EL IF QUE DICE QUE LAS COLUMNAS DE LA MATRIZ 1 TIENEN QUE SER IGUALES A LAS FILAS DE LA MATRIZ 2//
}
Console. Read ( ) ;
} } }
ANGEL ESPAÑA
No hay comentarios:
Publicar un comentario