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!