Data una matrice di dati numerici, calcolare e visualizzare: 1) la media degli elementi di ciascuna riga; 2) la media degli elementi di ciascuna colonna; 3) la media di tutti gli elementi
/*
CLAUDIO CARDINALE III AI
Data una matrice di dati numerici, calcolare e visualizzare: 1) la media degli elementi di ciascuna riga; 2) la media degli elementi di ciascuna colonna; 3) la media di tutti gli elementi
*/
#include<stdio.h>
#define MAX 1000
int main(){
//dichiarazioni
int r,c,i,j,mat[MAX][MAX];
float mediar[MAX],mediac[MAX],media=0;
//acquisizione dati
//lunghezza matrice
do{
printf("inserire il numero di righe : ");
scanf("%d",&r);
printf("inserire il numero di colonne : ");
scanf("%d",&c);
}while(r<1 || r>=MAX || c<1 || c>=MAX);
//acquisizione dati
for(i=0;i<r;i++)
for(j=0;j<c;j++){
printf("inserire il valore alla riga %d ed alla colonna %d : ",i+1,j+1);
scanf("%d",&mat[i][j]);
}
//calcoli
for(i=0;i<r;i++){
mediar[i]=0;
for(j=0;j<c;j++)
mediar[i] += mat[i][j];
mediar[i]/=c;
}
for(j=0;j<c;j++){
mediac[j]=0;
for(i=0;i<r;i++)
mediac[j] += mat[i][j];
mediac[j]/=r;
}
for(i=0;i<r;i++)
for(j=0;j<c;j++)
media += mat[i][j];
media /= r*c;
//visualizzazione risultati
printf("media righe :\n");
for(i=0;i<r;i++)
printf("media riga %d = %f\n",i+1,mediar[i]);
printf("media colonne :\n");
for(i=0;i<c;i++)
printf("media colonna %d = %f\n",i+1,mediac[i]);
printf("media totale : %f\n",media);
}