000
19.10.2005, 12:27 Uhr
Abwesend
|
Hi,
Ich muss bei meinem Studium seit einiger zeit ( 3 Wochen ) C lernen. Jetzt haben wir eine Aufgabe zur berechnung der Wurzel eine Zahl. Damit ihr versteht was ich meine schreibe ich mal die Aufgabe:
Aufgabe: Wurzel einer Positiven reellen Zahl x unter ausschließlicher Verwendung der Grundrechenarten, Schreibe ein C Programm zur Wurzelberechnung und vergleichen sie das Ergebniss mit der Wurzelfunktion "sqrt" aus der Mathematischen Bibliothek.
Zur Erinnerung: Xo=Startwert Xn+1= (Xn + (x/Xn)) / 2 , n= 1, 2, 3, ...
Ich hab auch schon ein Programm gemacht, jedoch rechnet er es nicht fertig:
C++: |
#include <stdio.h> #include <math.h>
main() { double x; /* Eingabe Berechnung*/ double x1; /* Schätzwert */ double xneu; /* Neuer Schätzwert */ double y; /* Wurtzel x */ double nan=0; /* Nullwert */ printf("Hier können sie die Wurzel einer positiven reellen Zahl berechnen \n"); printf("Bitte geben sie die Zahl ein, die sie berechnen wollen \n"); while(scanf("%lf", &x) !=EOF) { if (x<0) { printf(" Berechnung nicht moeglich, keine positve reelle Zahl! \n"); } else if (x==0) { printf("Das Ergebnis ist: %lf \n", nan); } else if (x>0) { printf("Bitte geben sie einen Schaetzwert ein\n"); scanf("%lf", &x1); y=sqrt(x); if (x1==y) { printf(" Bingo, das Ergebnis ist: %lf \n", y); } if (x1!=y) { xneu= 0.5*(x1 + ( x/x1 )); x1=xneu; } } } }
|
Kann dort jemad einen fehler sehen? Dieser Post wurde am 19.10.2005 um 12:28 Uhr von Abwesend editiert. |