Come invertire l’ordine degli elementi di un array.

Per invertire gli elementi di un array bisogna usare gli indice e spostare gli ultimi elementi al posto dei primi. Se l’array ha dimensione “n” ( int array[n] ) bisogna far si che il primo elemento diventi l’ultimo, il secondo diventi penultimo e così via. A tale scopo può servire un secondo array in cui si ricopiano gli elementi al contrario. Detto allora “array_origine” il primo array e “array_copia” il secondo array l’istruzione alla base dell’inversione è array_copia[j]=array_origine[n-j];

Vediamo il programma completo.

Dopo aver dichiarato le due variabili “primo” e “secondo” cioè i due array di 30 numeri interi, si procede a scrivere il “main” cioè il cuore del programma. Come prima cosa bisogna inserire gli elementi nel vettore utilizzando l’istruzione di input del Cpp (istruzione “cin” ). In un array le posizioni degli elementi sono indicate dagli indici, ma gli indici partono da 0 e non da 1. Ciò comporta che il primo elemento ha posizione 0, il secondo posizione 1 e così via. Per inserire il primo elemento dell’array occorre quindi una istruzione cin>>primo[0]  in quanto la prima posizione è indicata con l’indice 0, cin>>primo[1] poiché la seconda ha l’indice 1 e così fino alla fine, l’ultima ha indice 29 cin>>primo[29].

Per evitare di scrivere 30 istruzioni “cin” conviene usare un ciclo FOR per caricare il vettore.

for (int j=0;j<30;j++){
      cout<<” Inserire il “<<j+1<<“^ elemento : “;
      cin>>primo[j];
} // l’array di origine è caricato

 

Con un secondo ciclo FOR facciamo l’inversione, utilizzando la formula scritta all’inizio array_copia[j]=array_origine[n-j] avremo :

 

for (int j=0;j<30;j++){
       secondo[j]=primo[29-j];
} // l’array “primo” è ricopiato nell’array “secondo”

L’ultimo ciclo FOR effettua l’output dell’array invertito.

Per arricchire graficamente l’output, una variante del programma è la seguente:

 

 

Di seguito il video tutorial sull’esercizio.

 

 

 

 

 

Lascia un commento

Il tuo indirizzo email non sarà pubblicato.