2013 – 5

È dato il seguente programma:

#include 
#define N 10
int v[N]={3, 5, 2, 0, 8, 1, 4, 9, 6, 7};
void p()
{
   int i, t, s;
   do 
   {
      s=0;
      for(i=2; 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);
}

void main() 
{
   int i;
   p();
   for(i=0; i < N; i++)
      printf("%d ",v[i]);
}

Cosa viene visualizzato a video dall'esecuzione di main()?


Soluzione: 3 9 8 6 5 4 2 1 0 7


Riprende il quesito 2012-13 - 5, ma peggiorando le cose.
La funzione p() ordina il vettore v[] alla rovescia ma il ciclo parte da 2 e si ferma a N-2...