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