Probleme d'incrementation
Bonsoir à tous, eh oui encore moi!
Mon programme compte le nombre d'occurences d'une lettre contenue dans une phrase.
Cette fois je pense que j'ai un probleme d'incrémentation:
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26
| #include <stdio.h>
#include <stdlib.h>
int compteur()
{
int caractere,i;
char tableau[26];
for(i='a';i<='z';i++)
{tableau[i]=0;}
while((caractere=getchar())!='#')
{
if(caractere>='a' && caractere<='z')
{
tableau[caractere-'a']++;
}
/*if(caractere>='A' && caractere<='Z')
{
caractere=caractere+('A'-'a');
tableau[caractere-'0']++;
}*/
}
for(i='a';i<='z';i++)
{
printf(" Le numero %c apparait %d fois \n",i,tableau[i]);
}
} |
j'ai passé du temps dessus mais j'arrive pas a trouver le problème, enfin si, dans mon dernier prinft tableau[i] vaut toujours 0 sauf que je vois pas comment corriger l'erreur...
Re: Probleme d'incrementation
Bonjour,
Citation:
Envoyé par BFH
Code:
1 2 3 4
| for(i='a';i<='z';i++)
{
printf(" Le numero %c apparait %d fois \n",i,tableau[i]);
} |
'a' ne vaut pas 1 donc tu commence à parcourir ton tableau à 48 je croi (code ASCII du caractère a).
Code:
1 2 3 4
| for(i=0;i<26;i++)
{
printf(" Le numero %c apparait %d fois \n",'a'+i,tableau[i]);
} |
Il faut aussi que tu corrige la première boucle en t'inspirant de mon code.