PDA

Visualizza la versione completa : [C++] stampare array ordinato


ped451
13-10-2008, 19:17
Salve questo il mio progetto per ordinare un array, ma nn riesco a stamparlo ordinato.
come posso fare? grazie!


int A[8] = {2,6,78,9,0,3,5,66};
int m;
for(int i=0;i<6;i++)
m = i+1;
for(int j =2;j<8;j++)
if(A[j]<A[m])
m=j;
for(int i=0;i<6;i++)
A[m]=A[i+1];


:ciauz:

oregon
13-10-2008, 19:18
Non ho capito ... ma questo tuo codice cosa dovrebbe fare?

Perche' non spieghi, riga per riga, cosa hai scritto?

ped451
13-10-2008, 19:24
Il codice serve per ordinare l'array inizializzato un ordinamento crescente.
Io volevo sapere come stampare l'array risultante da questo ordinamento...
Non so potrei dirti che nelle righe da 2 a 5 il codice ricerca il minimo, dopo questa esecuzione la variabile m contiene l'indice della posizione in cui si trova il minimo cercato. L'inserimento di A[m] nella posizione i lo effetuo con uno scambio.questo tutto!
grazie

oregon
13-10-2008, 19:40
Ok, mi fido ... per visualizzare i dati devi semplicemente impostare un ciclo

for

come uno di quelli che hai gia' scritto e usare la

printf

per visualizzare i singoli valori dell'array.

Pero' non comprendo come tu faccia a saper scrivere quei 3 cicli e non saper scrivere l'ultimo ciclo che serve per visualizzare i dati ...

ped451
13-10-2008, 21:11
il codice per stampare l'array lo so come si scrive.... che nn mi stampa i valori giusti e siccome sono sicuro che il codice precedente esatto volevo sapere se dovevo fare qualcosa dal solito ciclo for e cout!
Cmq grazie per l'aiuto.

oregon
13-10-2008, 23:44
Originariamente inviato da ped451
il codice per stampare l'array lo so come si scrive....

E allora perche' chiedi ... ?


che nn mi stampa i valori giusti

E perche' non lo mostri ... ?

Ci sara' qualche errore ... ma devi mostrare il codice che visualizza e che non funziona, non quest'altro !

mondobimbi
14-10-2008, 15:49
ma sei sicuro che l'algoritmo sia giusto ?a me non sembra proprio. Guarda solo l'ultimo loop che assegna 6 volte all'indice m sempre valori differenti lasciando gli altri inalterati. O anche il primo loop che non si capisce cosa faccia, assegna a m il valore 7?
ciao
sergio

Loading