Hallo,
ich versuche gerade ein Programm zu schreiben, das lineare Gleichungssysteme löst, das Lösen selbst ist nicht das Problem, dazu nehme ich dann das
Gaußsche Eliminationsverfahren. Das Problem ist das Parsen. Beispiel:
Quelltext
1: 2: 3: 4: 5:
| 2*x+x+3*y-2*z+3=5*x -> (0+2+1+3)*x+(0-2)*z+3=5*x ->(0+2+1+3-5)*x+(2)*z+3=0 ->11*x+2*z+3=0 |
Das wäre also auch nicht das Problem, das mit dem Zeilen-Vertauschen schaffe ich auch schon irgendwie. Problem sind genau gesagt die Klammern. Alles bis zum ersten Pfeil dient ja nur zur Veranschaulichung, das muss das Proggi ja nicht wirklich machen. Aber wie Löse ich das Problem mit den Klammern? Bestimmte Konstruktionen wie Binome lassen sich ja relativ einfach umformen (wobei die ja in linearen Gleichungssystemen nichts zu suchen haben

).
Und wenn nur Klammern alleine möglich wären, dann wäre das auch kein Problem, aber die lassen sich ja verschachten. Und dazu kommt, dass solche fiesen Dinger wie
(x+x)*2 möglich sind (gut auch das ist einfach, aber schwer wird's bei
(x+y-3*z)*2).
Jemand eine Idee?