Hallo.
Ich habe ein Programm in Java geschrieben, was eine prefix rechnung in einen binary tree einfügt, und dann ausrechnet.
Mein Problem ist, wie bekomme ich die infix notation in prefix?
vielen dank.
Problem mit prefix notation
-
-
-
Ich glaub, das ist nicht gemeint.
Allerdings nicht verwunderlich, ist recht unpräzise formuliert.
Meine Interpretation:
Gegeben: Ausdruck in Infix Notation + Java Program, daß mit Ausdrücke in Prefix einliest. (und dann auswertet)
Geht dann natürlich nicht so einfach.
Aber befor' ich mir auf Verdacht die Finger wund schreib' würd ich gern wissen ob meine Vermutung richtig ist.
Mfg, LB -
Also. Was ich bis jetzt programmiert habe ist ein programm, was eine prefix notation in einen baum einfügt, und dann den baum in postorder scannt. Die postorder notation wird dann mit Hilfe von stacks ausgerechnet.
Ich will nun aber, dass ein user die rechenaufgabe in infix eingeben kann. nun brauche ich eine class, die infix in prefix umwandelt.
vielen dank.
jenny -
Ok, wie muß der Infix Ausdruck ausehen ?
Wenn volle Klammerung genügt/vorausgesetzt wird, ists recht trivial.
Falls Klammern optional sind und/oder die Operaten (*,/,+- nehm ich mal an) unterschiedliche Prioritäten haben soll wirds schon schwieriger. -
die gleichung soll so aussehen:
((2-3)*(2+0))-((8*9)-(1+2))
(1-3)+(8*8)
etc
also immer 2 paare.
so möchte ich zumindest mal ananfangen, weil das leichter ist. später möchte ich dann komplexere gleichungen convertieren: (2-3)*2/(2*1-4) -
hier ist ein stack basierender Standard Algorithmus dafür beschrieben.
Unäre Operatoren müssen extra behandelt werden.
Und es ist infix to postfix, aber das auf prefix zu ändern ist sehr einfach.
Mfg, LB -
cool, danke. das sieht ja ganz gut aus. ich werd mich dann mal an die arbeit machen!
Jetzt mitmachen!
Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!