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
![](https://images.gutefrage.net/media/default/user/11_nmmslarge.png?v=1551279448000)
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.
![](https://images.gutefrage.net/media/default/user/11_nmmslarge.png?v=1551279448000)
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>
![](https://images.gutefrage.net/media/user/procoder42/1444749196_nmmslarge.jpg?v=1444749196000)
Du kannst ja einen string einlesen und diesen dann verarbeiten
![](https://images.gutefrage.net/media/default/user/13_nmmslarge.png?v=1551279448000)
Du sollst im String nach Zahlen suchen.