Un consiglio, va bene se vuoi abbreviare, ma cerca di dare nomi un po' più esplicativi alle variabili, altrimenti quando leggerai il codice tra una settimana, non ci capirai niente nemmeno tu.
Comunque, come ho detto, non serviva portare il conto per ogni prodotto (a meno che non lo chieda la traccia, ma non mi sembra) e si poteva fare un po' più semplice.
#include <stdio.h>
#include <stdlib.h>
int main(){
//dichiarazione delle variabili
int scelta;
int tot_acquisti = 0;
int lung_seq_corrente = 1, prodotto_seq_corrente = 0, pos_seq_corrente = 1;
int lung_seq_max = 0, prodotto_seq_max = 0, pos_seq_max = 0;
//implememtazione dell'algoritmo
do{
do{
printf("\nInserire la scelta:\n1.Panino\n2.Pizza\n3.Focaccia: ");
scanf("%d",&scelta);
if(scelta<0 || scelta>3)
printf("\nInserimento errato!");
}
while(scelta<0 || scelta>3);
switch (scelta){
case 1:
printf("\n Hai scelto il panino\n");
break;
case 2:
printf("\n Hai scelto la pizza\n");
break;
case 3:
printf("\n Hai scelto la focaccia\n");
break;
default: ;
}
tot_acquisti++;
if(scelta != prodotto_seq_corrente)
{
if(lung_seq_corrente >= lung_seq_max)
{
lung_seq_max = lung_seq_corrente;
prodotto_seq_max = prodotto_seq_corrente;
pos_seq_max = pos_seq_corrente;
}
lung_seq_corrente = 0;
prodotto_seq_corrente = scelta;
pos_seq_corrente = tot_acquisti;
}
lung_seq_corrente++;
}
while(scelta!=0);
switch(prodotto_seq_max){
case 1:
printf("\n%d panini, con inizio al %d^ acquisto", lung_seq_max, pos_seq_max);
break;
case 2:
printf("\n%d pizze, con inizio al %d^ acquisto", lung_seq_max, pos_seq_max);
break;
case 3:
printf("\n%d focacce, con inizio al %d^ acquisto", lung_seq_max, pos_seq_max);
break;
default:
printf("\nNessun acquisto effettuato");
break;
}
system("PAUSE");
return 0;
}