heyho,
ich bin grad dabei ein Programm zu schreiben, welches arithmetische Terme aus einer norm. Datei ausliest, berechnet und dann in einem binärem Baum darstellen soll. Dabei soll die Wurzel das Endprodukt darstellen und jeder Knoten mit einem verbindenem Operator versehen sein. Mein Problem liegt nun darin, wenn ich zb. folgenden Term habe: 1*3/((4+9)-3*2)+(8+4)*2
Dann weiss ich nicht wie ich den zerteilen soll, so das ich Ihn a. im Baum darstellen kann. Und b. Ihn überhaupt berechnen. Da ich ja zuerst Punkt- vor Strichrechnung beachten muss, dann das ganze in Klammern zuerst berechnen (auch für die Darstellung im Baum äußerst wichtig
) und letztlich Punkt- vor Strichrechnung außerhalb von den Klammern (man beachte auch, verschachtelte Klammern:p). Ich habe was von Postfix-Notation gehört und auch gelesen. Nur diese nicht richtig verstanden, grade in Bezug auf Klammern. Scheinen da ja fast vollkommen wegzufallen.... Vielleicht könnte mir jmd. eine kurze Routine zeigen, welche arithmetische Terme auswertet bzw. berechnet. Da wär mir schon groß geholfen. Am besten lernt es sich eben noch am praktischen Beispiel
Bin für jede helfende Hand dankbar.
euer janos