2015 – 5

V è un vettore di N interi inizializzato nel modo seguente: V= [1, 5, 23, 4, 2, 6, 3, 7, 10].

void mod_vett(int V[], int N) 
{
   int aux, ant, i;
   ant=V[0];
   V[0]+=V[1]; 
   i=1;
   while(i < N-1) 
   {
      aux=V[i];
      V[i]=ant+aux+V[i+1];
      ant=aux; i++;
   }
   V[N-1]+=ant;
}

Come cambia il contenuto di V dopo aver eseguito la procedura mod_vett()?


Soluzione: [6,  29,  32,  29,  12,  11,  16,  20,  17].


Il primo valore diventa la somma dei primi due.
Per tutti i valori intermedi il valore originale viene sostituito con la somma dei tre valori adiacenti.
L'ultimo valore diventa la somma degli ultimi due.

  • 1+5 = 6
  • 5+23+4 = 32
  • ...
  • 3+7+10 = 20
  • 7+10 = 17