Bonjour j'ai réalisé un TP aujourd'hui et après 6 heures à cojiter dessus j'en viens à croire qu'il n'y a pas de solution.. Je vous explique mon problème : Le but du programme étant de transformer une expression arithmétique infixé en postfixé.
Voiçi l'algo :
entrée : LI, liste en notation infixée;
sortie : LP, liste en notation postfixée;
1) Créer une nouvelle liste LP.
2) Créer un pile.
3) Parcourir LI du début à la fin
soit x l'élement courant
au cas où
- x = "(" -> empiler
- x est un nombre -> insérer à la fin de LP
- x est un opérateur
-> tant que le sommet de la pile a une priorité >= à la priorité de x le dépiler et l'insérer à la fin de LP
-> empiler x
- x est un parenthèse fermante -> dépiler (jusqu'à ouvrante compris) et insérer à la fin de LP (sauf parenthèse ouvrante)
passer à l'élément suivant dans LI
4) Dépiler (jusqu'à pile vide) et insérer tous les opérateurs à la fin de LP
Voici mon archive avec tous les TDA : http://eli0te.free.fr/Cours/Expression.tar.gz
Pour le sujet c'est par içi : http://eli0te.free.fr/Cours/tp2-2011.pdf
Merci d'avance même si j'ai bien conscience que m'a demande n'est pas de tout repos
![]()
Partager