fiorellafatma
Messages postés6Date d'inscriptionmardi 18 mai 2010StatutMembreDernière intervention23 mai 2010
-
23 mai 2010 à 15:07
fiorellafatma
Messages postés6Date d'inscriptionmardi 18 mai 2010StatutMembreDernière intervention23 mai 2010
-
23 mai 2010 à 22:55
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?
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'));
}
}
BruNews
Messages postés21040Date d'inscriptionjeudi 23 janvier 2003StatutModérateurDernière intervention21 août 2019 23 mai 2010 à 21:51
Reprenons ce que j'avais mis hier.
void occurences(char *ptxt, unsigned int *p256tab)
{
int i;
for(i 255; i > 0; i--) p256tab[i] 0; // TOUT A ZERO
while(i = *ptxt) { // REMPLISSAGE
p256tab[i]++;
ptxt++;
}
}
// CODE APPELANT
int tab[256], i;
occurences("youpi ma chaine", tab);
for(i = 255; i > 0; i--) {
if(tab[i]) {
// printf de i (en char) + ESPACE + tab[i] (en int)
}
}