duda programación C

jianpei
30 de Noviembre del 2008
hacer un programa que lee una sucesión de caracteres y mostrar el carácter que aparezca con más frecuencia en la sucesión.
He editado el siguiente código, me da ERROR....
#include <conio.h>
#include <stdio.h>
#include <string.h>

void main(void)
{
char cadena[50];
int i,k;
int a[50];
int max;
max=0;

printf("Intrduce la cadena:n");
gets(cadena);

for(i=0;i<50;i++)
a[i]=0;

for(i=0;cadena[i];i++)
{
for(k=i+1;cadena[k];k++)
{
if(cadena[i]==cadena[k])
a[i]++;
}
}
for(i=0;cadena[i];i++)
{
if(a[i]>=max)
max=a[i];
}
printf("Los carácteres que aparecen con más frecuencia son :n");
for(i=0;cadena[i];i++)
{
if(a[i]=max)
printf("%ct",cadena[i]);
}
getch();
}