TI 83+ séparer les chifres d'un nombre

[Fermé]
Signaler
-
 dezema -
Bonjour,

je suis en train de programmer sur ma TI et je ne trouve pas de solution a mon problème;
je voudrait par exemple avoir le nombre 01001011 défragmenté en 0 1 0 0 1 0 1 1 (et oui ça concerne le binaire ;) Mais en ayant rechercher un peut sur internet je n'ai pas trouver de solution... je voudrait savoir donc si l'un d'entre vous aurait l'argument ou un programme le permettant...

merci de votre réponse!

2 réponses

Messages postés
334
Date d'inscription
samedi 1 décembre 2012
Statut
Membre
Dernière intervention
24 octobre 2016
90
Bonjour,
je pense avoir trouvé ce que tu cherche, il faut pour ça utiliser les chaînes de caractères et j'ai pensé que stocker les chiffres séparés dans une liste serait plus simple à utiliser:

:Input "chaine=",Chaîne1
:8->dim(L1)
:For(T,1,8)
:carChaîne(Chaîne1,"0",T)->A
:carChaîne(Chaîne1,"1",T)->B
:If A=/0
:Then
:0->L1(A)
:End
:If B=/0
:Then
:1->L1(B)
:End
:End


Je précise quand même que le symbole =/ veux dire "différent de".
Pour expliquer simplement, on rentre le chiffre dans une chaîne de caractère, on défini une liste L1 avec une taille de 8, ensuite on détecte 8 fois les positions des chiffres 1 et 0 dans la chaîne, puis on les stocke dans la liste L1 aux positions enregistrées.
Pour avoir accès aux chiffres il suffit de rentrer
L1(position du chiffre)
.
On peut bien entendu changer les variables A, B, T, Chaîne1 et L1 sans problèmes.
1
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

CCM 41713 internautes nous ont dit merci ce mois-ci

merci beaucoup, je n'ai pas essayer ta solution mais vu de loin sa a l'air de marcher... entre temps j'en ai trouvé une autre:

partDéc(X/10)*10->A
partDéc(X/100-A/100)*10->B
partDéc(X/1000-A/1000-B/100)*10->C

et bref on répéte l'opération autant de fois qu'il y a de chiffre ...
je pense que ta version est plus optimisé que la mienne mais je ne maîtrise pas encore les chaines...
merci
Ba en soit le tiens et plus compacte, mais celui de $0M3oNe est plus adaptable:
on peut facilement changer la taille prédéfinie du chiffre de base ou encore les chiffres à séparer (il peut détecter d'autres chiffres que le 0 et le 1)