markolino1997 ha scritto:
Fatto, ora funziona Però potresti spiegarmi il perchè dell'n=s+1?
Te l'ho scritto, perchè nel for c'è la condizione i<n-1. Ora, essendo che non puoi cambiarla, o avresti un errore nel primo ciclo di scambi in quanto tenteresti di scambiare con array[10] che non esiste, l'unica soluzione è quello di incrementare di un unità l'assegnazione del nuovo n. Se difatti l'array è ordinato da 8 in poi, l'ultimo scambio sarà tra array[7] ed array[8], con i=s=n=7. Dunque il ciclo successivo controllerebbe sino ad i<n-1, ovvero sino ad i=5, lasciando l'elemento di indice 7 li dov'è, indipendentemente dal suo valore. Spero di essere stato chiaro xD
Ps: quando non ti trovi con i programmi, prova a fare un disegno passo passo di quello che accade, stando molto attento alle condizioni, vedrai che l'errore salta subito fuori.