Vogliamo calcolare la media dei numeri in un array in C
Esempio:
Prendiamo un array di 10 numeri interi quindi dichiariamo:
int a[10];
E dichiariamo anche le variabili:
int i – che rappresenta l’indice dell’array;
int somma – è la variabile dove fare la somma di tutti gli elementi
float media – è la variabile che conterrà il valore media, non sarà possibilmente un numero intero.
Quindi con un ciclo for (si potrebbe anche utilizzare il while) si inseriscono i numeri nell’array e a mano a mano si fa la somma progressiva.
Per realizzare la somma progressiva, sommo a ciascun elemento dell’array la somma precedente:
somma=somma+a[i];
Notiamo che la variabile somma è stata inizializzata a zero, in quanto la prima volta che eseguiremo questa istruzione somma=somma+a[i]; somma non è un valore noto. Abbiamo utilizzato l’inizializzazione a zero perché zero è l’elemento neutro della somma. Nel caso si fosse trattato del prodotto avrei dovuto utilizzare l’inizializzazione prodotto=1 chiaramente.
Quindi calcoliamo la media, inserendo semplicemente la formula, che consente di dividere la somma per il numero di elementi:
media=somma/i;
Dove i alla fine vale 10, infatti in questo caso specifico, potrei anche mettere:
media=somma/10;
Visualizziamo l’output con printf:
printf(“la media e’ %0.2f: “, media);
Ecco il programma completo che calcola la media dei numeri in un array in linguaggio C:
#include <stdio.h> //media di 10 numeri in un array main() { int a[10]; int i, somma=0; float media; for(i=0; i<10; i++){ printf("inserisci il numero %d: ", i); scanf("%d", &a[i]); somma=somma+a[i]; } printf("la somma vale %d: ", somma); media=somma/i; printf("la media e' %0.2f: ", media); }
Link utili: