Ideen für ne kleine Eq-Funktion
-
Hallo, ich möchte gerne eine Funktion schreiben die mir eine Gleichung sortiert.
Also alle Unbekannten nach Links und normale Zahlen nach Rechts.
Doppelte vorkommene Variabeln natürlich miteinander verrechnen.Sprich so ca.
myfunc ("3x - 14 + 2z-4y+2x = 120 +10y"
#do something ....
return "2z+5x-14y=134"
Wie würdet ihr da am besten rangehen?
Hab auch schon paar Ideen aber wollte mich trotzdem vorher mal umhören
-
Stichwort: Expression Trees (s. z.B. http://www.brpreiss.com/books/opus5/html/page264.html)
-
Stichwort: Recursive Descent Parser
Du kannst natürlich auch eine Library verwenden (Maxima ist AFAIK eine gute Mathe-Library, wobei die deine Gleichung wahrscheinlich gleich lösen wird, evtl. lässt sich auch noch mit einem Parser für kontextfreie Grammatiken etwas anstellen, z.B. boost::spirit)