Hola muy buenas, estaba haciendo un ejercicio en C en el que me piden que escriba 9 numeros en un numeros.txt y que almacene esos nºs en una matriz de 3x3.
despues que coja otra matriz 3x3 y la escanee de teclado
cuando las tenga, tengo que grabar en dos ficheros, la suma de las matrices y en otro el producto de las matrices.
el problema es que al ejecutar se me escriben valores que no se corresponden con la suma ni con la multiplicacion.
el codigo seria:
Código C:
Ver original#include<stdio.h>
#include<stdlib.h>
#define MAX 3
int
main ()
{
int matriz1[MAX][MAX], matriz2[MAX][MAX], sum[MAX][MAX], produc[MAX][MAX];
int i, j, k, l,a,b,c,d,e,g,h,o;
FILE *f, *m, *s;
//int suma, producto;
/*Abrimos el fichero numeros.txt para leer información */
f
= fopen ("numeros.txt", "r");
/*Creamos dos bucles para que nos vaya leyendo numeros y los cargue en la matriz */
for (i = 0; i < MAX; ++i)
{
for (j = 0; j < MAX; ++j)
fscanf (f
, "%d", &matriz1
[i
][j
]); }
fclose (f
); //cerramos el fichero
/*Creamos un bucle para que nos vaya introduciendo los valores a la matriz2 desde teclado */
for (k = 0; k < MAX; ++k)
{
for (l = 0; l < MAX; ++l)
{
printf ("Introduce los valores de la matriz:\n"); scanf ("%d", &matriz2
[i
][j
]); }
}
/*Abrimos el fichero en el que almacenamos la suma de las matrices */
s
= fopen ("suma.txt", "w");
/*bucle para sumar */
for (a = 0; a < MAX; ++a)
{
for (b = 0; b < MAX; ++b)
sum[a][b] = matriz1[a][b] + matriz2[a][b];
}
fprintf (s
, "la suma de las matrices es de:\n");
/*bucle para escribir en el fichero */
for (c = 0; c < MAX; ++c)
{
for (d = 0; d < MAX; ++d)
}
/*Abrimos el fichero en el que almacenamos el producto de las matrices */
m
= fopen ("producto.txt", "w");
/*bucle para multiplicar */
for (e = 0; e < MAX; ++e)
{
for (h = 0; l < MAX; ++h)
produc[e][h] = matriz1[e][h] * matriz2[e][h];
}
/*bucle para escribir en fichero */
for (g = 0; g < MAX; ++g)
{
for (o = 0; o < MAX; ++o)
}
return 0;
}