PDA

Visualizza la versione completa : [C++] Ordinamento valori inseriti in modo decrescente


userz
02-11-2008, 18:39
Salve, non riesco a ricercare l'errore in questo programma.

La specifica sarebbe: "Immetti n valori e disponili in ordine decrescente".

#include <iostream.h>
#include <stdlib.h>

const int max=20;

int main()
{
int i, n, val[max], temp;
int fine=false;
cout << "\nNumero elementi: -> ";
cin >>n;
for (i=0;i<n;i++) {
cout << "\nvalore: -> ";
cin >> val[i];
}
while (!fine) {
fine=true;
for (i=0;i<n;i++) {
if (val[i]<val[i+1]) {
temp=val[i+1];
val[i+1]=val[i];
val[i]=temp;
fine=false;
}
}
}
for (i=0;i<n;i++)
cout << "\n " << val[i];
cout << "\n";
system("PAUSE");
return 0;
}

oregon
02-11-2008, 18:41
Dovresti dire cosa succede, magari spendendo qualche parola in piu' ... non e' un forum di magia ...

userz
02-11-2008, 18:45
Hai ragione. Prima di tutto mi scuso.

In pratica quando immetto meno di 5 valori, li sistema tutti bene tranne il primo (che diventa un numero di 6 o pių cifre che non č stato mai inserito). Se si immettono pių di 4 valori il programma sembra funzionare perfettamente.

oregon
02-11-2008, 18:47
Intanto e' sbagliata la for

for (i=0;i<n;i++) {

che dovrebbe essere

for (i=0;i<n-1;i++) {

userz
02-11-2008, 18:55
Perfetto. Penso sia l'unico errore. Sei un grande. Grazie mille!

Loading