Calcolare la media dei valori di una matrice in C

Nella seguente pagina viene mostrato come creare un programma in C in grado di calcolare la media dei valori contenuti all’interno di una matrice. Dove con media si intende la media aritmetica, ovvero la somma dei valori numerici contenuti all’interno della matrice, diviso il numero dei suoi elementi.

Prima di tutto, abbiamo bisogno di dichiarare la nostra matrice. Per far ciò definiamo due macro M ed N, definite con la direttiva #define, che indicano rispettivamente il numero di righe e di colonne della matrice.
Per quanto riguarda i valori contenuti nella matrice, possiamo chiedere all’utente di inserire dei valori da tastiera, oppure inizializzare la matrice direttamente nel codice. Nel nostro caso seguiamo il secondo metodo, per tanto inizializziamo la matrice con dei valori arbitrari.

Per poter calcolare il valore della media dei valori contenuti nella matrice, abbiamo bisogno di due ulteriori variabili. La prima, che chiamiamo somma, serve per calcolare la somma dei valori contenuti all’interno della matrice, mentre la seconda variabile, chiamata media, serve per calcolare la media aritmetica. In particolare, per evitare possibili problemi di casting implicito, è consigliabile dichiarare le due variabili come dei tipi float.

A questo punto possiamo scorrere la matrice utilizzando due cicli for innestati, ed ad ogni iterazione del ciclo interno sommare l’attuale elemento alla variabile somma. In questo modo, al termine dei due cicli la variabile somma conterrà la somma di tutti gli elementi contenuti all’interno della matrice. Di conseguenza, non rimane che effettuare il calcolo della media aritmetica.

Per calcolare la media basta effettuare la divisione tra la somma dei valori contenuti nella matrice ed il prodotto tra il numero di righe e di colonne, cioè il numero di elementi contenuti all’interno della matrice.

Codice completo per calcolare la media dei valori di una matrice in C

Di seguito viene riportato il codice intero per calcolare la media degli elementi contenuti all’interno di una matrice.


#include <stdio.h>
#define M 3
#define N 3

int main(){
    int mat[M][N] = {{3, 4, 7}, {5, 7, 3}, {0, -2, 5}};
    float somma = 0, media;
    
    for(int i=0; i<M; i++){
        for(int j=0; j<N; j++){
            somma += mat[i][j];
        }
    }

    media = somma / (M*N);
    printf("La media dei valori della matrice vale: %.2f", media);

    return 0;
}


La media dei valori della matrice vale: 3.56

Indice pagine linguaggio C: