bonjour,
en C, il est possible de saisir une chaine de caractere(chaque lettre est stockée), mais est-il possible de saisir une chaine de chiffres puis faire la multiplication de chaque chiffre ?
si oui, quel code faites-vous ?
merci.
bonjour,
en C, il est possible de saisir une chaine de caractere(chaque lettre est stockée), mais est-il possible de saisir une chaine de chiffres puis faire la multiplication de chaque chiffre ?
si oui, quel code faites-vous ?
merci.
Tu veux dire que tu saisis "12345" et que tu fais "1 * 2 * 3 * 4 * 5" ?
Ben faut 1) faire saisir la chaîne, 2) analyser la chaîne pour en extraire les chiffres (boucle) et 3) faire la multiplication
Ne pas oublier de faire "- '0'" pour convertir le caractère ('1' = 49 ascii) en chiffre ('1' - '0' = 49 - 48 = 1)
Mon Tutoriel sur la programmation «Python»
Mon Tutoriel sur la programmation «Shell»
Sinon il y en a pleins d'autres. N'oubliez pas non plus les différentes faq disponibles sur ce site
Et on poste ses codes entre balises [code] et [/code]
Pour saisir tu peux utiliser scanf() ou fgets(). La chaîne étant déjà un tableau, pas la peine d'utiliser un autre tableau (te suffit de balayer chaque caractère de la chaîne saisie). Quand à additionner (je croyais que t'avais parlé de multiplier ???) chaque élément (chaque caractère) cela ne pose aucun problème puisqu'un caractère n'est qu'un nombre (un code ascii).
Seul danger => le caractère '8' (par exemple) ne vaut pas 8 mais 56. Pour passer de '8' à 8, faut lui enlever '0' (48) parce que les chiffres de 0 à 9 se suivent dans l'ordre ascii => 56 - 48 = 8
Tu peux en plus filtrer par les fonctions is...() telle que "isnum()" pour ne traiter que les caractères représentants des chiffres...
Mon Tutoriel sur la programmation «Python»
Mon Tutoriel sur la programmation «Shell»
Sinon il y en a pleins d'autres. N'oubliez pas non plus les différentes faq disponibles sur ce site
Et on poste ses codes entre balises [code] et [/code]
sinon, sans passer par les caractères ASCII il y a les fonction strtod(), strtol() etc...
Je préconise fgets() + ces fonctions.
Comme le nom l'indique, strtod() et consoeurs sont faites pour traiter des chaînes c.a.d. des tableaux terminés par '\0' (sous-entendu un tableau = un nombre) alors que là, il faut traiter des caractères uns par uns (sous-entendu un caractère = un chiffre) => ces fonctions sont inutiles dans ce cas précis !!!
Sinon effectivement pour la saisie fgets() est mieux que scanf() car il peut contrôler la saisie...
Mon Tutoriel sur la programmation «Python»
Mon Tutoriel sur la programmation «Shell»
Sinon il y en a pleins d'autres. N'oubliez pas non plus les différentes faq disponibles sur ce site
Et on poste ses codes entre balises [code] et [/code]
Partager