Aiuto su array

Sk_Anonymous
Leggere gli elementi di un vettore di 10 elementi e visualizzarli in ordine inverso.

Ho la soluzione ma praticamente come si ci arriva? :oops:

Risposte
_luca.barletta
Basta leggere l'array a partire dal fondo e risalire fino all'inizio. E' sempre una questione di contatori in un ciclo iterativo...

Sk_Anonymous
Come risultato nella mia dispensa leggo


{
for(indice=0;indice<10;indice++)
scanf(A[indice]);
for(indice=9;indice>0;indice--)
printf(A[indice]);
}

non riesco a capire.Hai qualche dispensa o altro da darmi dove è suegato bene i ragionamento sda fare per esercizi di tale tipo? :prayer:

_luca.barletta
E' moltp più semplice di quello che sembra: il primo for serve per acquisire i dati e scriverli ordinatamente nell'array; ad es. dopo questo ciclo l'array si presenta così:

0 1 2 3 4 5 6 7 8 9
a b c d e f g h i l

ad es: A(5)=f

Ora, il secondo ciclo for legge l'array A al contrario cominciando a stampare A(9)=l e finendo con A(0)=a.

Oltretutto in quel codice c'è un errore il secondo ciclo for deve essere

for(indice=9;indice>=0;indice--)

Sk_Anonymous
e per visualizzare il valore massimo o minimo che ragionamento va fatto?

_luca.barletta
Per trovare il max o in min dovrai per forza visitare tutto l'array; puoi tenere una variabile di comodo dove memorizzi il tuo max o min attuale; man mano che visiti un nuovo elemento dell'array puoi controllare se questo sia più grande del tuo massimo temporaneo, e allora questo diventerà il nuovo max temp, e analogamente puoi fare con il minimo. Alla fine della visita avrai nella variabile di comodo il massimo o il minimo assoluto dell'array. Ricordati di inizializzare bene la variabile di comodo.

Sk_Anonymous
infinitamente grazie

gigilatrottola2
in termini pratici fai un ciclo for che li scorra tutti ed all'interno del ciclo controlli se l'elemento che fino a quel momento è il piu grande sia maggiore dell'elemento i-esimo.

Una cosa tipo...

int max = array[0]; //inizialmente è il primo elemento
for(i = 1; i < N; i++)
if(array > max)
max = array;

Rispondi
Per rispondere a questa discussione devi prima effettuare il login.