AD

Somma dei numeri contenuti all’interno di una matrice in C

Nella seguente pagina viene mostrato come creare un programma in C in grado di risolvere l’esercizio in cui viene chiesto di sommare i numeri contenuti all’interno di una matrice.

Per svolgere l’esercizio abbiamo innanzitutto bisogno di una matrice contenente dei valori che possiamo sommare tra di loro. Nello specifico abbiamo due modi principali per definire una matrice. Il primo metodo consiste nel dichiarare ed inizializzare la matrice direttamente nel codice, mentre il secondo modo richiede l’inserimento degli elementi da parte dell’utente.

Nel nostro caso viene usato il primo metodo, in particolare dichiariamo una matrice di interi, chiamata mat, di dimensione pari ad M ed N, ovvero M colonne ed N righe. M ed N sono due macro definite precedentemente con la direttiva #define, che corrispondono al valore 3. Questo significa che la matrice creata avrà dimensione 3x3.

Per poter utilizzare la matrice dobbiamo anche definire i suoi valori contenuti. Questi vengono specificati sulla stessa riga della dichiarazione della matrice, con dei valori arbitrari.

int mat[M][N] = {{2, 6, 7}, {4, 2, 1}, {8, 3, 5}};

Per poter gestire la somma dei valori contenuti all’interno della matrice, necessitiamo di una ulteriore variabile di tipo int (nel nostro caso, dato che i valori contenuti nella matrice sono interi), utilizzata per sommare ciascun elemento della matrice, man mano che viene letto.

Infatti il metodo più compatto, consiste nell'utilizzare due cicli for innestati (allo stesso modo possono essere utilizzati anche il ciclo while o do while) per scorrere righe e colonne della matrice. In particolare ad ogni iterazione dei due cicli, ci troveremo in una determinata posizione all’interno della matrice, individuata dai due indici dei cicli for. A questo punto sommiamo il valore letto alla variabile somma, a cui, prima dell’inizio dei due cicli for, è stato assegnato il valore 0.

Al termine dei cicli for, la variabile somma conterrà la somma di tutti gli elementi contenuti all’interno della matrice iniziale.

Codice completo per sommare gli elementi contenuti in una matrice in C

Di seguito viene riportato il codice intero del programma in grado di sommare gli elementi contenuti all’interno di una matrice in C, precedentemente spiegato.

#include <stdio.h> #define M 3 #define N 3 int main(){     int mat[M][N] = {{2, 6, 7}, {4, 2, 1}, {8, 3, 5}};     int somma = 0;     for(int i = 0; i < M; i++){         for(int j = 0; j < N; j++){             somma += mat[i][j];         }     }     printf("La somma degli elementi contenuti nella matrice vale: %d", somma);     return 0; }

La somma degli elementi contenuti nella matrice vale: 38