Stack zur Auswertung arithmetischer Ausdrücke
Es wird angenommen, dass der Wert eines einfachen arithmetischen Ausdrucks bestimmt werden soll, in dem Multiplikationen und Additionen von ganzen Zahlen vorkommen. Die Ausdrücke sollen in Postfix-Notation vorliegen. Dies bietet den Vorteil, dass keine Klammern erforderlich sind (Beispiel: 5 9 8 + 4 6 * * 7 + ist Postfix-Notation für 5*(((9+8)*(4*6))+7)).
Lesen Sie mit einer Schleife einen gültigen arithmetischen Ausdruck (als Folge von char-Zeichen) zeichenweise ein, Leerzeichen übergehen Sie dabei. Ein Wert wird im Stapel gespeichert. Ein Operator wird auf die beiden obersten im Stapel liegenden Werte, die über die Pop-Operation entnommen werden, angewendet; das Ergebnis geht wieder in den Stapel.
Am Schluss steht der Wert des Ausdrucks im Stapel und wird von dort mit der letzten Pop-Operation ausgelesen. Implementieren Sie den Stack als verkettete Liste.:confused::confused::confused
Comments
Rene K. aus AB
Contributions on this page: 2
View profileWow, bist Du schon weit. Ich hab' am Sonntag erstmal die KE 1 beendet :D
Aus welcher KE ist denn die Aufgabe?
chris*
Contributions on this page: 1
View profileVermutlich aus KE2, da gehts um sowas.
Ich gebe allerdings zu, dass ich mit dem Posting nichts anfangen kann. Ich seh keine Frage.
Rene K. aus AB
Contributions on this page: 2
View profileIch war von der Aufgabenstellung so verwirrt, dass ich das glatt uebersehen hab'