È dato il seguente programma:
#include#define N 10 int v[N]={3, 5, 2, 7, 8, 1, 4, 9, 6, 0}; void p() { int i, t, s; do { s=0; for(i=1; i < N-1; i++) if(v[i-1] > v[i]) { t=v[i-1]; v[i-1]=v[i]; v[i]=t; s=1; } } while(s == 1); } main() { int i; p(); for(i=0; i < N; i++) printf("%d ", v[i]); } Cosa viene visualizzato a video dall'esecuzione di main()?
Soluzione: 1 2 3 4 5 6 7 8 9 0
Scorre il vettore e per ogni coppia, se è disordinata, la ordina.
Se ha fatto almeno uno scambio ripete il ciclo.
Ordina il vettore? Sì, ma il ciclo si ferma a N-2, quindi l'ultimo elemento non è coinvolto...