Salve ragazzi avrei problemi con l'ultimo punto di questo esercizio come potrei fare?
Scrivere un programma che realizzi le seguenti funzionalita’:
a) legga in input due matrici di numeri reali e calcoli la matrice somma e il prodotto tra le due
matrici
b) salvi la matrice somma all’interno di un file di testo
c) legga in input una matrice di numeri reali e scriva in output la riga della matrice che contiene
il maggiore elemento della matrice
Questo è il codice:
#include <stdio.h>
#define N 2
#define P 2
#define M 2
int a[M][N], b[N][P], c[M][N];
int n,m,i,j,k;
//INSERIMENTO MATRICI.
int matrice_1(){
printf("\nInseriamo i dati nella matrice \n");
for (i=0;i<M;i++)
for (j=0;j<N;j++) {
printf("Inserisci elemento di riga %d e colonna %d: ", i, j);
scanf("%d", &a[i][j]);
};
printf("\nStampiamo i dati della prima matrice \n");
for (i=0;i<M;i++) {
printf("\n");
for(j=0;j<N;j++)
printf("\t%d", a[i][j]);
};
};
int matrice_2(){
printf("\nInseriamo i dati nella seconda matrice \n");
for (i=0;i<N;i++)
for (j=0;j<P;j++){
printf("Inserisci elemento di riga %d e colonna %d: ", i, j);
scanf("%d", &b[i][j]);
};
printf("\nStampiamo i dati della seconda matrice \n");
for (i=0;i<N;i++) {
printf("\n");
for(j=0;j<P;j++)
printf("\t%d", b[i][j]);
};
};
//CALCOLO SOMMA.
int somma(){
for (i=0;i<M;i++) {
for (j=0;j<N;j++)
c[i][j]=a[i][j]+b[i][j];
};
printf("\nStampiamo i dati della matrice somma\n");
for (i=0;i<M;i++) {
printf("\n");
for(j=0;j<N;j++)
printf("\t%d", c[i][j]);
};
FILE *p_file;
p_file=fopen("M.txt","w");
if(p_file){
for (i=0;i<M;i++) {
printf("\n");
for(j=0;j<N;j++)
fprintf(p_file,"\t%d",c[i][j]);
printf("Scrittura ok \n");
}
}
else{
printf("Errore \n");
}
};
//PRODOTTO.
int prodotto(){
for (i=0;i<M;i++)
for(j=0;j<P;j++) {
c[i][j]=0;
for(k=0;k<N;k++)
c[i][j]=c[i][j]+a[i][k]*b[k][j];
};
printf("\nStampiamo i dati della matrice prodotto \n");
for (i=0;i<M;i++){
printf("\n");
for(j=0;j<P;j++)
printf("\t%d", c[i][j]);
};
};
int main() {
matrice_1();
matrice_2();
somma();
prodotto();
return 0;
}