Ciao a tutti,
qualcuno sa spiegarmi in questo semplice programmino il perchè debba scrivere duce cicli for per poter visualizzare i numeri dell'array in ordine crescente?? (Se tolgo il ciclo for con int pass=0 i numeri non sono + visualizzati in ordine crescente fino alla fine):
#include <iostream>
#include <iomanip>
using namespace std;
int main()
{
const int arraysize=10;
int a[arraysize]={2,6,4,8,10,12,89,68,45,37};
int i,hold;
cout << "Data items in original order\n";
for (i=0; i<arraysize; i++)
cout << setw(4) << a[i];
//passaggi
for(int pass=0; pass<arraysize-1; pass++)
//un passaggio
for(i=0; i<arraysize-1; i++)
if(a[i]>a[i+1]){ //un confronto
hold=a[i];
a[i]=a[i+1];
a[i+1]=hold;
}
cout << "\nData items in ascending order\n";
for(i=0; i<arraysize; i++)
cout << setw(4) << a[i];
cout << endl;
system("PAUSE");
return 0;
}
Grazie
![]()