Bè ci sono un paio di problemucci nella funzione...
Innanzitutto:
[CODE]
for(i=0;i<n;i++)
if(a[i-1]==a[i])
[CODE]
Al primo ciclo, i = 0, e viene fatto un controllo su a[-1], cosa che può rivelarsi anche grave!
Poi non ci sono le graffe per il blocco del for, in pratica non viene eseguita nessun'istruzione...
E poi il calcolo della frequenza in ogni modo è sbagliato, perchè due caratteri uguali possono non essere vicini!