Non ho analizzato lo scritto, ma ho trovato un baco (ritengo):

if (mm=0&&gg>20) indice++;
traduzione:
assegna 0 alla variabile mm
poi fa l'AND tra il valore 0 cosi` ottenuto e la condizione gg>20

Forse ha piu` senso:
if (mm==0 && gg>20) indice++;

(metticeli un po' di spazi: scrivere codice facilmente capibile da noi umani riduce la probabilita` di errori).