Manugal
11-01-2005, 16:59
Ciao a tutti!!!
Sto studiano il C per l'Università ma trovo difficoltà quando devo lavorare con gli indici degli array.
Ad esempio c'è un programma che dice di inizializzare due vettori a e b della stessa lunghezza con n valori interi e di calcolare la somma incrociata degli elementi a[1] + b[n], a[2] + b[n-1],.... e di memorizzarla in un nuovo vettore. Bene. Ora vorrei capire perché l'algoritmo per fare questo è il seguente:
for(i=0; i<n; i++)
c[i]=a[i] + b[n-i-1] <---- questo b[n-i-1] non l'ho capito.
Non si potevano fare per dire due cicli annidati, facendo scorrere il primo in avanti e il secondo indietro?
Poi ad esempio un altro programma mi dice di inizializzare un'array facendo visualizzare alternativamente 0,-3,6,-9,12,-15....
Qui ad esempio non so proprio come dirgli di alternare il segno.
Forse per voi saranno ca##ate e sono sicuro che potrete aiutarmi. Grazie. ;)
Sto studiano il C per l'Università ma trovo difficoltà quando devo lavorare con gli indici degli array.
Ad esempio c'è un programma che dice di inizializzare due vettori a e b della stessa lunghezza con n valori interi e di calcolare la somma incrociata degli elementi a[1] + b[n], a[2] + b[n-1],.... e di memorizzarla in un nuovo vettore. Bene. Ora vorrei capire perché l'algoritmo per fare questo è il seguente:
for(i=0; i<n; i++)
c[i]=a[i] + b[n-i-1] <---- questo b[n-i-1] non l'ho capito.
Non si potevano fare per dire due cicli annidati, facendo scorrere il primo in avanti e il secondo indietro?
Poi ad esempio un altro programma mi dice di inizializzare un'array facendo visualizzare alternativamente 0,-3,6,-9,12,-15....
Qui ad esempio non so proprio come dirgli di alternare il segno.
Forse per voi saranno ca##ate e sono sicuro che potrete aiutarmi. Grazie. ;)