Salve ragazzi!! Come da titolo ho da svolgere questo esercizio che mi dice:
"Date due matrici in input ne calcoli la matrice somma e la salvi prima all'interno di un file testo e poi la legga dallo stesso"
Io per adesso sono arrivato qui :
codice:
#include <stdio.h>
#include <iostream>
#include <cstdlib>
#include <cstring>
#define N 10
void Leggi_Mat(int a[N][N],int b[N][N]){
int row;
int column ;
printf("Inserisci numero di righe: ");
scanf("%d",&row);
printf("Inserisci numero colonne: " );
scanf("%d",&column);
for(int i=0;i<row;i++){
for(int j=0;j<column;j++){
printf("Inserisci elmento di a[%d][%d]: ",i,j);
scanf("%d",&a[i][j]);
}
}
printf("\nInserisci numero di righe seconda matrice: ");
scanf("%d",&row);
printf("\nInserisci numero colonne sconda matrice: " );
scanf("%d",&column);
for(int i=0;i<row;i++){
for(int j=0;j<column;j++){
printf("Inserisci elmento di a[%d][%d]: ",i,j);
scanf("%d",&b[i][j]);
}
}
}
void Somma_Mat(int a[N][N],int b[N][N]){
FILE *fp;
fp=fopen("somma.txt","w");
int row;
int column ;
int c[N][N];
printf("\nLa matrice somma e':\n");
int i, j;
for(int i=0;i<row;i++){
for(int j=0;j<column;j++)
c[i][j]=a[i][j]+b[i][j];
}
for(int i=0;i<row;i++){
for(int j=0;j<column;j++)
printf("%3d ",c[i][j]);
printf("\n");
fwrite(c,sizeof(int),row*column,fp);
fclose(fp);
}
return;
}
int main() {
int a1[N][N];
int b1[N][N];
Leggi_Mat(a1,b1);
Somma_Mat(a1,b1);
return 0;
}
Vorrei un aiuto su come salvare e poi leggere la stessa matrice!
PS: la define so che per questioni di memoria devo aumentarla quindi N=10 non va bene io metto N=300!! Questo perché nel corso di studi fatto all'Uni per il remo di ingegneria che faccio(aerospaziale) il mio prof ha escluso la memoria dinamica come argomento!!!