Totale Vettore

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