
salut à tous
voila je dois faire un programme qui prend une chaine de caractère et retourne le nombre d' occurence de chaque caractère
comme suit
entrer la chaine : jeanne
1 fois se répète 'A'
2 fois se répète 'E'
1 fois se répète 'J'
2 fois se répète 'N'
voici mon programme mais la fonction remplirabc n'arrive pas à s'executer quelle est le problème svp?
#include<stdio.h>
#include<string.h>
void remplirabc(char* chr,int occ1,int *abcd);
void main()
{
char ch[101],*cht;
int abc[26],l,occ,i,h,j,g;
printf("entrer la chaine a saisir: ");
gets(ch);
l=strlen(ch);
for (i=0;i<l;i++)
{
occ=0;
for (j=0;j<l;j++)
{
if(*(ch+j)==*(ch+i))
occ++;
printf("%c\n",*(ch+j));
}
printf("%d\n",occ);
for(h=0;h<26;h++)
*(abc+h)=0;
cht=ch;
*cht=ch[i];
remplirabc(cht,occ,abc);
for(h=0;h<26;h++)
printf("%d\n",abc[h]);
}
g=0;
for(g=0;g<26;g++)
{
if(*(abc+g)!=0)
printf("%d foi la lettre '%c'",*(abc+g),char(g+'A'));
}
}
void remplirabc(char* chr,int occ1,int* abcd)
{
char min, maj;
int j;
j=0;
while((j<26)&&(*(abcd+j)==0))
{
for(min='a',maj='A';min<='z',maj<='Z';min++,maj++)
{
if(*chr==min)
{
j=(*chr-'a');
abcd[j]=occ1;
}
else if(*chr==maj)
{
j=int(*chr-'A');
abcd[j]=occ1;
}
}
j++;
}
}