Ciao, ho fatto questo programmino che indica di quanti elementi è composta la sequenza di numeri crescenti più lunga tra i valori inseriti:

codice:
#include <stdio.h>

main() {

int i, flag, flag2, flagmax, seqstart, seqend, flagcambio, flag3, flagPos;
float n, valmax;

flag3=0;
flag = 0;
flagmax = 0;
valmax = 0;
i=1;
seqstart= 0;
seqend = 0;
flagcambio = 0;
 flag2 = 0;
 
 flagPos = 0;

printf("Inserisci il valore\n");
scanf("%f", &n);

while (n!=0)  
    {

    if (n > valmax)
    {
    
    valmax = n;
    flag++;

           if (flag > flagmax)
              {  
             
                           if (flagPos == 0)
                           {
                           
                           seqstart = i;
                           
                           }
             
              flagmax = flag;
              // aggiunta
              
              flagPos = 1;
              
              
              
              // fine aggiunta
              
              }
           else
           {
           
             flagPos = 0;     
                         
           }       
    }
    else
    {
    
   
    flag = 1;
    valmax = 0;
    flagPos = 0;
    }


printf("Inserisci il valore\n");
scanf("%f", &n);

i++;

   
} 


printf("La massima sequenza crescente e' di %d elementi\n", flagmax);
printf("La massima sequenza crescente inizia in %d \n", seqstart);
scanf("%d");
}
Come noterete dal codice devo anche fare in modo di sapere in corrispondenza di quale valore inizia la sequenza massima crescente. Se ad esempio inserisco:

4 5 6 1 2 3 4 5 6 dovrebbe dirmi che la sequenza massima crescente è lunga 6 elementi e che inizia dal quarto elemento. Non posso usare vettori, solo flag. Io ho comnciato con l'inserire un contatore i che mi indica il valore i esimo che stiamo considerando, poi volevo mettere un flag che avvisasse quando era iniziata una nuova sequenza crescente massima e che a quel punto dasse a seqstart il valore di i, ma non funziona.

Cosa sbaglio?

Grazie