Decomposer et reconstituer un char en C
Geoffrey
-
Geoffrey -
Geoffrey -
Bonjour.
Je réalise un programme pour mes études, et j'aurai besoin de lire les chiffres d'un nombre, seuls ou par tranches.
Je m'explique : il faudrai par exemple que je lise le nombre "1000" par chiffre (1 et 0 et 0 et 0) puis par tranche (10 et 00). Je pensais faire rentrer le nombre initial en chaine de caractère char pour le décomposer mais je ne sais pas comment le reconstituer après pour le lire par tranche.
Merci à ceux qui se pencheront sur le sujet.
Geoffrey M.
Je réalise un programme pour mes études, et j'aurai besoin de lire les chiffres d'un nombre, seuls ou par tranches.
Je m'explique : il faudrai par exemple que je lise le nombre "1000" par chiffre (1 et 0 et 0 et 0) puis par tranche (10 et 00). Je pensais faire rentrer le nombre initial en chaine de caractère char pour le décomposer mais je ne sais pas comment le reconstituer après pour le lire par tranche.
Merci à ceux qui se pencheront sur le sujet.
Geoffrey M.
4 réponses
-
Il te suffit de ne pas modifier la chaine :
int main(int argc, char* argv[]) { char buffer[11]; int i; scanf("%10s",buffer); for (i=0;i<strlen(buffer);i++) printf("%c",buffer[i]); } -
Mais comment je peux récupérer les chiffres pour les travailler, puis les tranches pour les travailler aussi (je pensais faire une boucle, avec des tranches à chaque plus grande d'un chiffre, si tu vois ce que je veux dire... En fait il faut que je mette chaque chiffre et chaque tranche à une certaine puissance, peu importe le chiffre entré au debut, tant qu'il est entre 1 et 1million.)
Si mon idée et un peu tordu tu peux le dire, je le prendrai pas mal! -
Tu dois alors utiliser un autre buffer contenant les parties que tu veux, le convertir en int via atoi() et manipuler ce nombre.
-