Si avete ragione, avrei dovuto scrivere BEGIN= (BEGIN+1)%MAX.
Per come l'avevo scritto io non si aggiornava la variabile begin, non aveva senso la mia istruzione. @Weiestrass ho anche provato il codice che mi hai mandato ora e funziona perfettamente. Lo sto confrontando con il mio vecchio per caprine gli errori. Mi è tutto chiaro tranne una cosa, nel for della stampa i=BEGIN ; i!=END significa che il ciclo si ripete finchè begin è diverso da end giusto?