J'ai des problèmes avec une question sur les devoirs auxquels je travaille depuis un certain temps. Je ne sais pas exactement pourquoi la question est posée et j'ai besoin d'éclaircissements là-dessus et aussi d'une poussée dans la bonne direction.Comptage des caractères alphabétiques contenus dans un tableau avec C
Voici la question:
(2) Résoudre ce problème en utilisant un seul tableau indicés des compteurs. Le programme utilise un tableau de caractères défini à l'aide de la fonction d'initialisation C. Le programme compte le nombre de chacun des caractères alphabétiques a à z (seuls les caractères minuscules sont comptés) et imprime un rapport (dans une table nette) du nombre d'occurrences de chaque caractère minuscule trouvé. N'imprimez les nombres que pour les lettres qui apparaissent au moins une fois. Cela n'imprime pas un compte s'il est nul. N'utilisez PAS une instruction switch dans votre solution. NOTE: si x est de type char, x-à 'est la différence entre les codes ASCII pour le caractère dans x et le caractère' a '. Par exemple, si x contient le caractère 'c' alors x-'' a la valeur 2, tandis que si x contient le caractère 'd', alors x-'' a la valeur 3. Fournissez les résultats du test en utilisant la chaîne suivante:
« Ceci est un exemple de texte pour l'exercice (2). »
Et voici mon code source jusqu'à présent:
#include<stdio.h>
int main() {
char c[] = "This is an example of text for exercise (2).";
char d[26];
int i;
int j = 0;
int k;
j = 0;
//char s = 97;
for(i = 0; i < sizeof(c); i++) {
for(s = 'a'; s < 'z'; s++){
if(c[i] == s){
k++;
printf("%c,%d\n", s, k);
k = 0;
}
}
}
return 0;
}
Comme vous pouvez le voir, ma solution actuelle est un peu anémique. Merci pour l'aide, et je sais que tout le monde sur le net n'aime pas nécessairement aider avec les devoirs des autres. ; P
Merci, je vois comment je tentais de trop compliquer la réponse. – Craig
Cette solution écrit en dehors des limites définies du tableau 'd'. – caf
Cela a des problèmes - qu'en est-il des espaces, des parenthèses, des chiffres, des points (et terminal NUL)? –