Totale Vettore
Il problema del calcolo del totale dei valori contenuti in un vettore si può definire nel seguente modo: dato in input un vettore, calcolare la somma di tutti i valori contenuti nelle caselle e stamparla . Per poter risolvere questo problema abbiamo la necessità di “visitare” le caselle del vettore accedendo al loro contenuto.
Consideriamo il seguente caso concreto:
int main() { int vet[4] = {1,4,5,6}; }
Ci aspettiamo che l’algoritmo restituisca il valore 16 cioè il risultato della seguente addizione: 1+4+5+6 cioè 16.
Per calcolare il totale dei valori, usiamo una variabile (che chiameremo somma) che viene incrementata per ogni valore di ogni casella visitata. Settiamo la variabile somma col valore 0 e per ogni casella visitata incrementiamo la variabile. La visita alle caselle del vettore può essere implementata attraverso un ciclo for:
//varibaile che verrà incrementata del valore di ogni casella int somma = 0; for(int i=0;i<4;i++) { somma = somma + vet[i]; }
Il seguente ciclo risolve il problema della visita di tutte le caselle del vettore e del calcolo della somma. Per comprenderne il funzionamento analizziamo lo stack trace che la macchina esegue quando esegue il programma stesso.
somma = 0
i=0 , 0<4? SI
somma = 0 + vet[0] = 1;
i=1 , 1<4 SI
somma = 1 + vet[1] = 5;
i=2 , 2<4 SI
somma = 5 + vet[2] = 10;
i=3 , 3<4 SI
somma = 10 + vet[3] = 16;
i=4 , 4<4 NO
Esce dal ciclo dopo aver calcolato il totale di un vettore.
Per avere maggiormente chiaro cosa implementa questo algoritmo vediamo le seguenti slides:
Torna a vettori
Testa su ideone.com