alex934
Messages postés2Date d'inscriptiondimanche 16 novembre 2008StatutMembreDernière intervention10 juin 2010
-
9 juin 2010 à 21:53
alex934
Messages postés2Date d'inscriptiondimanche 16 novembre 2008StatutMembreDernière intervention10 juin 2010
-
10 juin 2010 à 18:42
Bonjour, j'ai besoin de votre aide :)
Voila je souhaite mettre un nombre stocké(int) dans un tableau
exemple:
int a=132;
int tab[3];
je voudrais que dans chaque case il y a juste un chiffre comme ci dessous:
tab[0]=1
tab[1]=3
tab[2]=2
comment dois-je faire, si je fait une boucle sa me range le 132 dans chaque case du tableau.
Merci pour votre précieuse aide :)
A voir également:
Remplir un tableau avec des nombres aléatoires distincts en c
TychoBrahe
Messages postés1309Date d'inscriptionsamedi 31 janvier 2009StatutMembreDernière intervention 5 juin 201312 9 juin 2010 à 22:52
Salut,
Pour ceci tu peux utiliser des successions de divisions entières et modulos afin d'isoler chaque chiffre dans une base donnée (ici la base 10).
Prenons un exemple : considérons le nombre 4269 et isolons chacun des chiffres qui le composent dans la notation en base 10 :
Le chiffre le plus à droite est le résultat du nombre modulo 10 (car 10 est la base utilisée pour représenter le nombre) :
4269 % 10 = 9
On utilise ensuite la division par 10 pour "enlever" le 9 :
4269 / 10 = 426
On peu ainsi recommencer le même protocole avec le nombre obtenu :
426 % 10 = 6
426 / 10 = 42
42 % 10 = 2
42 % 10 = 4
4 % 10 = 4
4 / 10 = 0
Vu que est arrivé au bout (0), on s'arrête. On a alors isolé un à un les chiffres que nous souhaitions. Il ne te restes plus qu'à traduire cet algorithme en C. Une remarque : on va de droite à gauche alors que dans l'exemple que tu donnes tu vas de gauche à droite. ce n'est pas un problème, procède de droite à gauche puis il ne te reste plus qu'à inverser l'ordre.