13/11/09 21:43
zaire90
Salve sto facendo un semplice programma di bubble sort ma quando lo eseguo non mi scrive i numeri in ordine, cosa sbaglio? Sicuramente è sbagliato qualcosa nel ciclo della stampa...
/* QUESTO PROGRAMMA ACQUISISCE DA TASTIERA UN NUMERO INTERO n<30 E LE COMPONENTI DI UN VETTORE u DI DIMENSIONE n. SUCCESSIVAMENTE RIORDINA LE COMPONENTI DEL VETTORE u IN SENSO CRESCENTE E LE STAMPA SUL VIDEO [Bubblesort] */ #include <iostream> using namespace std; int main() { int n,i,j; float u[30]; cout << "\nScrivi il numero della dimensione del vettore" <<endl <<endl; cout << " n = "; cin >> n; while ((n<2)||(n>29)) { cout << "\n\nn deve essere positivo e minore di 29!" <<endl <<endl; cout << "Scrivi il numero della dimensione del vettore"<<endl <<endl; cout << " n = "; cin >> n; } cout << "\n\nScrivi adesso le componenti del vettore u["<<n<<"]:" <<endl; for (i=1;i<=n;i++) { cout << "\nu["<<i<<"] = "; cin >> u[i]; } for (i=1;i<n;i++) for (j=n-1;j>=i;j--) if (u[j-1] > u[j]) { float c; c=u[j-1]; u[j-1]=u[j]; u[j]=c; } cout << "\nEcco il vettore u["<<n<<"] riordinato in ordine crescente:" <<endl; for (i=0;i<n;i++) cout << u[i]; cout <<endl <<endl <<endl; system("PAUSE"); return 0; }
Ultima modifica effettuata da zaire90 13/11/09 21:44
aaa