Huhu
ich hätte da nochmal ne Frage zur C++ Programmierung.
Ich habe eine Aufgabe, bei der ich die Wurzel einer Zahl durch eine
Näherung berechnen soll.
Das bekomm ich soweit noch hin, nur ich soll im nächsten Aufgabenteil
den Code so erweitern das noch die Anzahl der Iterationen ausgegeben
wird.
So wie in meinem Code funktioniert es nicht aber er berechnet mir
zumindest die richtigen Werte...
Hat vllt. jemand von euch eine Idee wie ich das umschreiben könnte?
Achja das sqrt(x) unten hab ich nur reingeschrieben damit ich eine
Kontrolle hab ob er auch richtig rechnet.
Vielen Dank
1 | #include <iostream>
|
2 | #include <math.h>
|
3 | using namespace std;
|
4 |
|
5 | int main ()
|
6 | {
|
7 | double x;
|
8 | double w;
|
9 | int i;
|
10 | int k;
|
11 |
|
12 |
|
13 | cout << "geben sie eine Zahl x > 0 ein: " ;cin >> x;
|
14 | k=x;
|
15 | w=x;
|
16 | if (x > 0){
|
17 | do
|
18 | {
|
19 | w = 0.5*(w + x/w);
|
20 | ++i;
|
21 | }
|
22 |
|
23 |
|
24 | while ( (((w*w-x) /x) > 0.000001,i < k ) );
|
25 | }
|
26 | else {
|
27 | cout << "Die Eingabe war keine Positive Zahl" << endl;
|
28 | }
|
29 | cout <<"Die Wurzel dieser Zahl lautet:" << w << endl;
|
30 | cout <<"Anzahl der Iterationen: " << i << endl;
|
31 | cout <<" " << sqrt (x) << endl;
|
32 |
|
33 |
|
34 |
|
35 |
|
36 |
|
37 | return 0;
|
38 | }
|