la variabile i viene incrementata solo se viene eseguito il codice all'interno della if
ma se a[i+1] non e' maggiore di max entra in un loop infinito.
codice:
while (i<n){ 
        max=a[i]
        if(a[i+1]>max)
        {
            max=a[i+1];
            i=i+1;
        }