Algorithme

Résolu/Fermé
RicHamilton Messages postés 49 Date d'inscription jeudi 10 mars 2005 Statut Membre Dernière intervention 18 juillet 2006 - 11 juil. 2006 à 16:48
 Daetips - 19 juin 2008 à 17:00
Salut à vous,
Je voudrais juste un algorithme qui convertit un nombre (0-999milliards) entré au clavier en lettres. Quelqu'un pourrait-il m'aider s'il vous plait?
Merci d'avance

17 réponses

kilian Messages postés 8731 Date d'inscription vendredi 19 septembre 2003 Statut Modérateur Dernière intervention 20 août 2016 1 527
11 juil. 2006 à 17:31
Salut,

Généralement les langages proposent souvent des fonctions toutes faites pour faire ça.

Mais si tu tiens vraiment à créer une fonction pour faire ça, il faut que tu passes par une boucle qui multiplie chaque chiffre par 10 élevé à la puissance qui correpond à la hierarchie du chiffre. Si c'est l'unité, ce sera 10 puissance 0. Si c'est la dizaine ce sera 10 puissance 1 etc....
Note que les chiffres entrés au clavier, s'ils sont en ascii, vont de 0 à 9 sachant que 0 en ascii c'est 48 et 9 c'est 57
http://www.table-ascii.com/
Afin d'avoir le vrai chiffre on soustrait donc le caractère par 48.

La boucle parcoure la chaine de la fin vers le début et à chaque caractère évalué, on incrémente un compteur (égal à zero au début) qui correspondra à la puissance. On soustrait le caractère par 48 puis on le multiplie par 10 puissance le compteur. Enfin, on ajoute ce résultat à la variable qui sera le résultat final.

Pour concrétiser ça fait:
Variables

        chaine: chaine de caractères  # Chaine entrée par l'utilisateur
        traduction: entier  # La chaine traduite en entier
        i, j : entier   # Compteurs
        chiffre: entier # Traduction d'un chiffre

Début

        i <- longueur_chaine(chaine)
        j <- 0
        traduction <- 0
        Tant que i >= 0 Faire
                chiffre <- chaine[i] - 48
                traduction <- traduction + (chiffre * (10 puissance j) )
                j <- j+1
                i <- i-1
Fin

J'espère que j'ai pas expliqué trop vite....
1
JvDo Messages postés 1978 Date d'inscription mercredi 27 juillet 2005 Statut Membre Dernière intervention 28 septembre 2020 856
12 juil. 2006 à 01:22
Bonsoir,

tu veux une conversion en nombre d'une saisie littérale genre "dix huit mille un" devient 18001 ou d'un nombre en littéral (l'inverse enfait) ?
pour le 2ème point : http://www.excelabo.net/moteurs/compteclic.php?nom=bj-chiffres-en-lettres

A+
0
RicHamilton Messages postés 49 Date d'inscription jeudi 10 mars 2005 Statut Membre Dernière intervention 18 juillet 2006
18 juil. 2006 à 20:39
Merci beaucoup pour ton aide. Grâce à ton lien, j'ai pu adapter l'algorithme à mon petit logiciel et il marche à perfection.
0
kilian Messages postés 8731 Date d'inscription vendredi 19 septembre 2003 Statut Modérateur Dernière intervention 20 août 2016 1 527
12 juil. 2006 à 03:48
Ah tiens, j'ai mal compris la question en fait...
0
merci
0

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

Posez votre question
s'il vous plait a quoi sert l'algo je sais que c'est une suite de solution pour des problemes
mais malgre ca
j'arrive pas va comprendre son but
please help me i'm fat up this probleme help me
chaymae
0
je veux des exercices precises sur l'algorithme et merci
0
Bonjour,
je veux des exercice sur l'algorithme stp
sanae
0
Bonjour,
algorithme pour un systeme triangulaire inferieur merci d'avant
0
Utilisateur anonyme
19 oct. 2007 à 22:58
Bonjour,
algorithme pour un systeme triangulaire inferieur
0
Bonjour,
je cherche des exercices sur l'lgorithm.et merci a tous
0
je veux des exercice sur l'algorithme stp
0
Bonjour,
salut j'ai des exercices mais je savais comlme je les fais
0
mourad_2007 Messages postés 1 Date d'inscription dimanche 11 novembre 2007 Statut Membre Dernière intervention 14 novembre 2007
14 nov. 2007 à 23:18
slt tout le monde je veux des exercises de l'algorithme moyen quelqu'un peut m'aider svp
0
salut
j'ai besoin de l'aide voila mon algo.
un programme qui permet de calculer Xa la puissance de Y avec X et Y saisie
plzzzzzzzzzzzzzzzzz
0
1Opuissance 0=?
0
10^0=1
0