AD

Calcolare la media dei numeri contenuti in un array in C

Nella seguente pagina viene mostrato come creare un programma in C in grado di calcolare la media dei numeri contenuti all’interno di un array, o vettore. Dove, la media aritmetica, o media, corrisponde alla somma di tutti i valori diviso il numero di elementi considerati.

Per svolgere l’esercizio abbiamo innanzitutto bisogno di un array contenente dei valori. Il metodo più semplice consiste nell’inizializzare l’array con dei valori all’interno del codice, oppure possiamo chiedere all’utente di inserire dei numeri da tastiera. 

In questo caso è stato scelto il primo metodo, in particolare definiamo una costante N con la direttiva #define e all’interno della funzione main, dichiariamo e, sulla stessa riga, inizializziamo un array di interi contenente 10 numeri.

 int a[10] = {56, 79, 67, 3, 89, 32, 16, 8, 0, 12};

Per poter calcolare la media dei numeri, abbiamo bisogno di due variabili, "somma" per calcolare la somma totale dei numeri, e "media" in cui viene immagazzinata la media calcolata. A questo punto bisogna fare molta attenzione, infatti quando si effettuano operazioni di divisione, bisogna stare attenti al casting implicito, ovvero a non far arrotondare il risultato della divisione. Questo succede se la divisione viene effettuata tra variabili intere, per questo motivo, entrambe le variabili somma e media sono di tipo float.

Definite le variabili, ora è possibile scorrere l’array in modo da sommare ogni elemento in esso contenuto. Per scorrere un array, si fa uso di un ciclo, in questo caso è stato deciso di usare un ciclo for, ma lo stesso risultato può essere ottenuto anche tramite l’utilizzo di un ciclo while o do while.

L’importante è inizializzare la variabile somma al valore 0, prima dell’inizio del ciclo for, in quanto le variabili non inizializzate non possiedo un valore predefinito.

Al termine del ciclo, la variabile somma conterrà la somma di tutti gli elementi contenuti all’interno dell’array. Di conseguenza possiamo effettuare il calcolo della media effettuando la divisione tra la variabile somma e la costante N, e stampare il risultato con la funzione printf.

#include <stdio.h> #define N 10 int main(){     int a[10] = {56, 79, 67, 3, 89, 32, 16, 8, 0, 12};     float somma, media;     somma = 0;     for(int i = 0; i < N; i++){         somma += a[i];     }     media = somma / N;     printf("Media dei numeri: %.2f", media);     return 0; } // Output: Media dei numeri: 36.20