Compter le nb de lettres

Signaler
Messages postés
33
Date d'inscription
mercredi 26 novembre 2003
Statut
Membre
Dernière intervention
26 mars 2004
-
Messages postés
33
Date d'inscription
mercredi 26 novembre 2003
Statut
Membre
Dernière intervention
26 mars 2004
-
Bonjour

je doi faire un programme a l aide des string et des tableau ki compte le nb de lchake lettre k il y a ds une frase ke je rentre, jlai fai avec 26 "for", ms jvoudrai savoir si il y a une methode plus courte...
merci

exemple: il fait beau

a: 2, b: 1, e: 1.....

4 réponses

Messages postés
21042
Date d'inscription
jeudi 23 janvier 2003
Statut
Modérateur
Dernière intervention
21 août 2019
25
int tab[256];
char *c;
memset(tab, 0, sizeof(int) * 256);
c = texte;
while(*c) {
tab[(BYTE) *c]++;
c++;
}

FINI
BruNews, ciao...
Messages postés
33
Date d'inscription
mercredi 26 novembre 2003
Statut
Membre
Dernière intervention
26 mars 2004

jme suis trompé c pa ca en fait...
dsl

le truc c ke jdoi comparer deux string(sans les pointer) et il me di lakkele des 2 est la plus gde

exemple: str1= lol, str2=lop

str1<str2 car l<p
Messages postés
21042
Date d'inscription
jeudi 23 janvier 2003
Statut
Modérateur
Dernière intervention
21 août 2019
25
ben tu feras le prochain.
BruNews, ciao...
Messages postés
33
Date d'inscription
mercredi 26 novembre 2003
Statut
Membre
Dernière intervention
26 mars 2004

nan serieu g mal compri le truc paske c en anglais... la parti ke g dmandé avan jlai faite deja...

nt main()
{
char sentence[100];
int i, index;

printf("enter a sentence: \n");
scanf("%s", sentence);

// no difference between big letters and small ones

for(index = 0; sentence[index]!='\0'; index++)
{ if( (sentence[index] >= 'A') && (sentence[index]<= 'Z') )
sentence[index] += 32;
}

for(i=97; i<=122; i++)
counterletters(sentence, i);
printf("\n");
}

int counterletters(char sentence[100], int i)
{
int counter=0, j;

for(j=0; j<=strlen(sentence); j++)
{ if(sentence[j]==i)
counter++;
}
if (counter != 0)
printf("%c: %d ",i, counter);

}