Wo liegt mein Fehler? Wurzelberechner!
-
Hi,
ich habe versucht nen Wurzelberechner zu Programmieren.
Er arbeitet oder sollte mit Hilfe des Heronverfahrens arbeiten.
Ich kann die Zahl eingeben, aber dann geht garnix. Er gibt nichts mehr aus.#include <iostream> using namespace std; int main() { double ergebnis; double Zahl; double eingabe; int i = 1; cout << "Geben sie eine Zahl ein!" << endl; cin >> Zahl; Zahl = eingabe; { ergebnis = ((Zahl + (eingabe / Zahl)) /2); for (i=1; i=100; i++) { ergebnis = ((ergebnis + (eingabe / ergebnis)) /2); } } cout <<"Die Quadratwurzel aus" << eingabe << "ist" << ergebnis << endl; }Kann mir bitte jemand sagen, wo mein Fehler Liegt!

-
Zeile 20, i=100 ist immer wahr, Schleife endet nie.
-
cin >> Zahl; Zahl = eingabe;*hust*
-
endlos schrieb:
Zeile 20, i=100 ist immer wahr, Schleife endet nie.
Was er sagen will: = ist eine Zuweisung, == ist ein logischer Vergleich.
-
Janjan schrieb:
endlos schrieb:
Zeile 20, i=100 ist immer wahr, Schleife endet nie.
Was er sagen will: = ist eine Zuweisung, == ist ein logischer Vergleich.
Wobei du bei Operator == aber nur einen Durchlauf hättest, denn die for-Schleife endet, sobald die Bedingung unwahr wird und nicht, wie hier vom Threadersteller angenommen, umgekehrt.
-
#include <iostream> using namespace std; int main() { double ergebnis; double eingabe; cout << "Geben sie eine Zahl ein!" << endl; cin >> eingabe; ergebnis = eingabe; for (int i=1; i<10; i++) { ergebnis = ((ergebnis + (eingabe / ergebnis)) /2); cout << ergebnis << endl; } cout <<"Die Quadratwurzel aus" << eingabe << "ist" << ergebnis << endl; }