C++ quadratische Gleichung einlesen
Hallo, wie kann ich in C++ eine quadratische Gleichung einlesen lassen, das Lösen ist kein Problem (pq-Formel, Mitternachts-Formel), allerdings soll die Eingabe in einer Zeile erfolgen. Dass bedeutet man gibt zum Beispiel 3xx + 8*x -20 ein, und das Programm soll automatisch erkennen, dass a=3, b=8, c=(-20).
3 Antworten
Das wird am besten mit einem regulären Ausdruck gehen. In C++ brauchst Du dazu die Regular expressions library, also #include . Mit dem Umgang in C++ bin ich nicht vertraut, aber in Perl tut z.B. dieser reguläre Ausdruck das, was Du willst:
/([\+\-]?)(\s*)(\d+)(.*)([\+\-])(\s*)(\d+)(.*)([\+\-])(\s*)(\d+)/
Die capture groups Nr. 3, 7 und 11 enthalten die Beträge der Koeffizienten, und die capture groups Nr. 1, 5 und 9 enthalten die dazu gehörenden Vorzeichen.
Hey, als ich das schrieb, stand da noch #include spitze Klammer auf regex spitze Klammer zu. Man muß wirklich jeden Schnipsel Code in den braunen Kasten tun, damit er unversehrt bleibt:
#include <regex>
Du kannst ja einen string einlesen und diesen dann verarbeiten
Du sollst im String nach Zahlen suchen.