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 :
Vorrei un aiuto su come salvare e poi leggere la stessa matrice!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; }
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!!!

Rispondi quotando