[ Foro de C ]
#include <stdio.h>
int main() {
int fila,col;
int matriz1[fila][col];
int matriz2[fila][col];
int mulmatriz[fila][col];
char continuar;
do {
printf("Programa que multiplica matrices");
printf("\n\nCuántas filas: ");
scanf("%d",&fila);
printf("\n\nCuántas columnas: ");
scanf("%d",&col);
printf("\n\nPrimera matriz:\n");
for(int i = 0; i < fila; i++) {
for(int j = 0; j < col; j++) {
printf("Dame un número para la matriz1[%d][%d]: ", i, j);
scanf("%d", &matriz1[i][j]);
}
}
printf("\n\nSegunda matriz:\n");
for(int i = 0; i < fila; i++) {
for(int j = 0; j < col; j++) {
printf("Dame un número para la matriz2[%d][%d]: ", i, j);
scanf("%d", &matriz2[i][j]);
}
}
//multiplicacion//
for(int i = 0; i < fila; i++) {
for(int j = 0; j < col; j++) {
mulmatriz[i][j]=(matriz1[i][j]*matriz2[i][j]);
}
}
printf("\nResultado de la multiplicación de matrizes:\n");
for(int i = 0; i < fila; i++) {
for(int j = 0; j < col; j++) {
printf(" %d ",mulmatriz[i][j]);
}
printf("\n");
}
printf("\n¿Deseas continuar? (y/n): ");
scanf(" %c", &continuar);
} while(continuar == 'y' || continuar == 'Y');
return 0;
}
Al Aser correr el código y ingresar los datos dela siguiente manera:
Cuántas filas: 2
Cuántas columnas:2
Para que las dos matrisez sean de 2×2
Luego ingreso los números del 1 al 4 para completar ambas matrisez
La impresión de los datos sale bien dela siguiente manera:
0 0
0 0
Pero la operación que es multiplicar las matrisez no es el resultado que se espera sale algo como esto:
7 10 en lugar de esto. 1 4
15 22 9 16
Cómo lo podría solucionar?
(No se puede continuar esta discusión porque tiene más de dos meses de antigüedad. Si tienes dudas parecidas, abre un nuevo hilo.)