Io in questi casi mi faccio una funzione di appoggio...
Ad esempio:
codice:
int howManyChars (char* s, char t);
che restituisca il numero di occorrenze del carattere t nella stringa s, facendo in pseudocodice:
codice:
int count = 0;
while (*s != '\0')
{
se *s == t, allora incremento count;
s = s + 1;
}
return count;
A questo punto nella funzione frequenza fai tipo:
codice:
void frequenza (char a [], int n) /* n non serve a mio parere */
{
int max = 0;
char* s = a;
char piuFrequente;
while (*s != '\0')
{
se "howManyChars" (a, *s) > max, allora questo è il nuovo max
e piuFrequente = *s;
s = s + 1;
}
qui fai la stampa che desideri visto che ti sei salvato il carattere più frequente e la sua frequenza!
}