[JAVA] algorithme Notation polonaise inversé

Résolu/Fermé
jasinskimathiiiiieu - 25 nov. 2010 à 19:09
 jasinskimathiiiiieu - 26 nov. 2010 à 17:18
Bonjour,
voiçi un algorithme:

Tant qu'il y a des tokens en entrée {

Examiner le token courant sur le fichier d'entrée
Si c'est un opérande, le placer sur le fichier de sortie
Si c'est une parenthèse ouvrante, la mettre sur la pile
Si c'est un opérateur, alors

Si la pile est vide, pousser l'opérateur sur la pile
Si le sommet de la pile est une parenthèse ouvrante, pousser l'opérateur sur la pile
Si l'opérateur est prioritaire sur celui au sommet de la pile, pousser l'opérateur sur la pile
Sinon, enlever l'opérateur de la pile et le mettre sur le fichier de sortie. Replacer ensuite l'opérateur courant sur la pile

Si c'est une parenthèse fermante, enlever les opérateurs de la pile et les placer sur le fichier de sortie jusqu'à ce que l'on rencontre la parenthèse ouvrante, que l'on élimine.
}

Enlever tous les opérateurs restants et les placer sur le fichier de sortie.

la ligne en gras: je ne vois pas comment je pourais programmer les niveau de priorité auriez-vous une idée?


A voir également:

2 réponses

silentData Messages postés 183 Date d'inscription jeudi 22 janvier 2009 Statut Membre Dernière intervention 18 octobre 2013 40
26 nov. 2010 à 09:26
Hello...

Je dis peut être une connerie, mais je viens de programmer une calculatrice RPN (Polonaise inversée) pour les cours, et on ne peut pas ajouter d'opérateur dans la pile.

De plus, le but d'une calculatrice polonaise est justement de ne pas utiliser les parenthèses. Essai de télécharger une RPN sur ton pc et fais quelques tests...
1
jasinskimathiiiiieu
26 nov. 2010 à 17:18
oui, mais en faite l'utilisateur doit entrer un calcul en mode normal, et mon programme sert justement à convertir celle-çi en NPI
0