[ Foro de C ]

Mi código en c no da los resultados esperados.

05-Jun-2024 03:32
Invitado (Volitur)
0 Respuestas

#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?




Si ya eres usuario del sistema, puedes contestar desde tu cuenta y así ganar prestigio.

Si sólo eres un visitante, puedes optar por...