Formel rechnen
-
Hi leute bin neu und hab nen Problem.
Das sieht so aus!
ax²+bx+c=0
ich will diese Formel in C++ umsetzen
Eingabewerte sind a,b,c
ist wirklich dringend könnt ihr bitte ganz schnell den quelltext posten!!??
Danke
greetz Marci
-
Die Lösungsformel für quadratische Gleichungen findest du in jedem bessren Mathe-Buch oder Formelsammlung, danach dürfte es nicht sonderlich schwer sein, das in C++ zu formulieren (Tip: für die Wurzel gibt es
sqrt()
- und du benötigst eine Fallunterscheidung je nach Wert der Diskriminante).
-
Könnt ihr mir den ganzen Quelltext aufschreiben! Hab keinen Schimmer von C++!
-
Warum _willst_ Du die Aufgabe dann unbedingt in C++ umsetzen? Hausaufgabe? Im Unterricht gepennt?
-
marci112md schrieb:
Könnt ihr mir den ganzen Quelltext aufschreiben! Hab keinen Schimmer von C++!
Dann solltest du etwas dagegen unternehmen - und die Grundlagen von C++ lernen
-
Formeln zu Lösungen von Quadratischen Gleichungen findet man sehr leicht. Auch Links für Neulinge und Tutorials in englisch oder deutsch , wie zum Beispiel das C++ Tutorial von Toni Schornböck findet man zu Hauf, aber ich will trotzdem heute mal nicht so sein. Das folgende Beispiel wird dir vielleicht weiterhelfen, aber nur wenn du dich auch gründlich damit und vor allem mit C++ beschäftigst. In dem Beispiel wird nicht überprüft, ob a 0 ist; das solltest du noch einbauen, um eine Division durch 0 zu verhindern:
#include <iostream> #include <cmath> using namespace std; //Lösung einer quadratischen Gleichung ax² + bx + c = 0 //gemäß der abc-Formel, auch Mitternachtsformel genannt void abcFormel(double a, double b, double c) { //Die Diskriminante ist der Ausdruck unter der Wurzel double diskriminante = b*b - 4*a*c; if(diskriminante == 0) { cout << "Die Gleichung " << a << "x\xFD + " << b << "x + " << c << " = 0 hat eine L\x94sung:\n"; cout << "x = " << ((-b + sqrt(diskriminante))/(2*a)) << "\n"; } else if(diskriminante > 0) { cout << "Die Gleichung " << a << "x\xFD + " << b << "x + " << c << " = 0 hat zwei L\x94sungen:\n"; cout << "x1 = " << ((-b + sqrt(diskriminante))/(2*a)) << "\n"; cout << "x2 = " << ((-b - sqrt(diskriminante))/(2*a)) << "\n"; } else cout << "Schade, die Gleichung " << a << "x\xFD + " << b << "x + " << c <<" = 0 hat keine L\x94sung!\n"; } //Lösung einer quadratischen Gleichung ax² + bx + c = 0 mittels der pq-Formel //Dazu muss die Gleichung normiert werden, so dass sie lautet: x² + px + q = 0 void pqFormel(double a, double b, double c) { double p = b/a; double q = c/a; double diskriminante = p*p/4 - q; if(diskriminante == 0) { cout << "Die Gleichung " << "x\xFD + " << p << "x + " << q << " = 0 hat eine L\x94sung:\n"; cout << "x = " << (-p/2 + sqrt(diskriminante)) << "\n"; } else if(diskriminante > 0) { cout << "Die Gleichung " << "x\xFD + " << p << "x + " << q << " = 0 hat zwei L\x94sungen:\n"; cout << "x1 = " << (-p/2 + sqrt(diskriminante)) << "\n"; cout << "x2 = " << (-p/2 - sqrt(diskriminante)) << "\n"; } else cout << "Schade, die Gleichung " << "x\xFD + " << p << "x + " << q <<" = 0 hat keine L\x94sung!\n"; } int main() { abcFormel(3,5,2); pqFormel(3,5,2); }
-
verräter schrieb:
...
Schöne Art, Schnorrer abzuschrecken !
Vielen Dank,
Simon2.
-
Für alle, die es noch nicht wissen:
Es gibt bei Google eine Google-Code-Suche. Und wenn man dort 'lang:C++ quadratische Gleichung' eingibt, so erhält man dieses Ergebnis.Gruß Werner :xmas2:
-
Abgefahren! Ein dreifach-Hoch auf Werner
PS: Google macht krasse Sachen: Durchsucht zip-Dateien nach cpp-Dateien