Mitternachtsformel in C++ Fehlerbehebung
Guten Morgen, habe heute angefangen mir die Programmiersprache C++ näher anzuschauen und versucht ein kleines Programm zu schreiben, welches die Nullstellen einer simplen Funktion mithilfe der Mitternachtsformel berechnet. Trotz intensiver Suche habe ich aber nichts gefunden was mir weiterhilft: Jedes mal wird mir ein extrem hoher Wert augegeben obwohl doch alles scheinbar richtig ist.
Schonmal Danke für alle Antworten im voraus
MfG Terracta
#include <iostream>
#include <cmath>
using namespace std;
int main()
{
signed int a, b, c, Ergebnis_1, Ergebnis_2;
a = b = c = Ergebnis_1 = Ergebnis_2 = 0;
cout << "Bitte gebe zuerst den A-Wert an : ";
cout.flush();
cin >> a;
system("Cls");
cout << "Nun den B-Wert : ";
cout.flush();
cin >> b;
system("Cls");
cout << "Abschliessend den C-Wert : ";
cout.flush();
cin >> c;
Ergebnis_1 = ((-b) - sqrt(b*b - 4 * a * c)) / (2 * a);
Ergebnis_2 = ((-b) + sqrt(b*b - 4 * a * c)) / (2 * a);
cout << "Die Erste Nullstelle befindet sich bei x=" << Ergebnis_1 << endl << "Die Zweite bei x=" << Ergebnis_2 << endl;
return 0;
}
Zu bemerken ist noch, dass die "< / >" Zeichen im Codebeispiel merkwürdigerweise zu ">" und "<" umgewandelt wurden.
2 Antworten
c++ kenn ich kaum. Aber als tipp könnte ich dir empfehlen, den fehler schritt für schritt zu suchen. Lass mal den unteren Teil weg, und lass vom Programm nur die 5 Variablen zurückgeben, damit du siehst ob die werte das enthalten, was du willst.
Ebenfalls ist noch der Fall, wenn der Term in der Wurzel negativ wird.
Die Sache hat sich erledigt, nachdem ich die Int-Variablen zu Float-Variablen geändert habe.
Vielen Dank