Osserviamo bene il for interno:

codice:
for(int j=n-1; j<i; j--)

Alla prima iterazione del for più esterno la variabile "i" vale 0. Supponendo di avere un array di 10 elementi, "j" vale 9, quindi j non sarà mai minore di "i", quindi non entra nel for, quindi la variabile "ordinato" vale true e nessuno la imposta a false, quindi non eseguirà mai il secondo giro del ciclo for più esterno (e nemmeno nessuno di quello interno), quindi l'algoritmo termina subito senza fare nulla.

Da rivedere un po' quegli indici.


Ciao.