Decomposer et reconstituer un char en C

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.

4 réponses

ghuysmans99 Messages postés 2496 Date d'inscription   Statut Contributeur Dernière intervention   340
 
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]);
}
0
Geoffrey
 
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!
0
ghuysmans99 Messages postés 2496 Date d'inscription   Statut Contributeur Dernière intervention   340
 
Tu dois alors utiliser un autre buffer contenant les parties que tu veux, le convertir en int via atoi() et manipuler ce nombre.
0
Geoffrey
 
Ok... ^^
Vais essayer de bidouiller tout ça!

Merci, à une prochaine peut être!
0