Décomposition d'un nombre en C

tomalille Messages postés 52 Date d'inscription jeudi 16 juin 2005 Statut Membre Dernière intervention 5 juin 2007 - 10 sept. 2005 à 17:12
cs_dan34 Messages postés 28 Date d'inscription dimanche 27 mars 2005 Statut Membre Dernière intervention 13 mars 2012 - 10 sept. 2005 à 18:43
Bonjour,
je dois traduire en C le tri par base.
Pour cela, je dois classer des chiffres par les unités, puis les dizaines, etc...
Mon problème est le suivant:
Comment faire pour isoler le chiffre des unités dans un nombre en C?
par exemple: si on a 170, comment faire pour avoir 0? Existe-t-il une fonction?
Merci d'avance

5 réponses

cs_dan34 Messages postés 28 Date d'inscription dimanche 27 mars 2005 Statut Membre Dernière intervention 13 mars 2012
10 sept. 2005 à 17:31
Si tu fais :
do
{
170 % 10 => 0 pour l'unité puis
170 / 10 => 17 puis
17 % 10 => 7 pour la dizaine etc ...
0
tomalille Messages postés 52 Date d'inscription jeudi 16 juin 2005 Statut Membre Dernière intervention 5 juin 2007
10 sept. 2005 à 18:20
ok mais comment savoir sur combien de chiffre les valeurs à trier sont-elles représentées?
0
cs_dan34 Messages postés 28 Date d'inscription dimanche 27 mars 2005 Statut Membre Dernière intervention 13 mars 2012
10 sept. 2005 à 18:23
tu fais une boucle do while et tu sors quand ton nombre divisé par 10 egal 0
0
cs_Matt67 Messages postés 549 Date d'inscription samedi 6 septembre 2003 Statut Membre Dernière intervention 6 mars 2010 3
10 sept. 2005 à 18:31
Bonjour,



Une suite de sprintf, strlen et atoi devrait faire l'affaire non ?

Matt...
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_dan34 Messages postés 28 Date d'inscription dimanche 27 mars 2005 Statut Membre Dernière intervention 13 mars 2012
10 sept. 2005 à 18:43
oui exact j'y avait pas pensé dans la série pourquoi faire simple quand on peux faire compliqué

sprintf( Buffer, %d, Nombre );
taille = strlen( Buffer );
on traite les caractères obtenus avec un for et la taille récupéré par exemple en les retransformant avec :
chiffre = atoi( caractère );
0
Rejoignez-nous