Histogramme

Fermé
johan - 26 nov. 2005 à 19:24
CrazyCanuck Messages postés 66 Date d'inscription mercredi 16 novembre 2005 Statut Membre Dernière intervention 26 juillet 2006 - 27 nov. 2005 à 07:58
Bonsoir , voici un algorithme en français :

si le caractère en entrée est un 'a' , alors j'incrémente la case 0 d'un tableau de 26 cases ( qui est la représentation des lettres de l'alphabet ) .

En C çà donne :

if ( c == 'a' )
alpha[0]++;

mais comment écririez vous en C ( en utilisant simplement des boucles , un tableau , getchar , printf et RIEN d'autre ) cet algo :

si la valeur de la variable "c" est une lettre de l'alphabet , alors j'incrémente la case correspondante à cette lettre d'alphabet .

merci de votre aide .

4 réponses

CrazyCanuck Messages postés 66 Date d'inscription mercredi 16 novembre 2005 Statut Membre Dernière intervention 26 juillet 2006 67
26 nov. 2005 à 20:37
peux tu utiliser le code ascii pour verifiez quel touche est entrée? genre si touche >= char(65) et touche <= char(90) pour les majuscules
si touche >= char(97) et touche <= char(122) pour les minuscules
0
oui je peux
0
CrazyCanuck Messages postés 66 Date d'inscription mercredi 16 novembre 2005 Statut Membre Dernière intervention 26 juillet 2006 67
26 nov. 2005 à 20:43
bien voilà, vérifie le caractère ascii de la touche entré et incrémente le tableau en conséquence.
0
oui mais ya 26 possibilités possibles , en C comment tu écrirais :

si la variable a contient a , b , c , ou d , ou e , ... ou z , on va pas faire 26 if quand même...
0
CrazyCanuck Messages postés 66 Date d'inscription mercredi 16 novembre 2005 Statut Membre Dernière intervention 26 juillet 2006 67
27 nov. 2005 à 07:58
Tu incrémente à la position du char()-65 ou -97 selon que c'est un majuscule ou non. Par exemple si ta touche est un a, donc char(97), tu incrémente à la position char(97)-97 donc à tableau[0], si la touche est un T, donc char(84) tu incrément à la position char(84)-65 donc tableau[19]
0