title image


Smiley Brauche hilfe bei der Wurzelberechnung mit den 4 Grundrechenarten!!!!
Hallo,

ich habe in EDV heute eine Aufgabe aufbekommen, bei der ich aus einer beliebigen Zahl eine Wurzel ziehen soll nur mit Hilfe der Grundrechenarten plus minus mal und geteilt.

Die Genauigkeit soll, wie auch die Zahl eine variable sein, die der Benutzer eingeben muss. Das ganze soll ohne math-Header aufgebaut werden. Wie kann ich das realiesieren, ohne den Befehl fabs zu verwenden?

Kann mir da jemand helfen?

Da ich ein blutiger Anfänger bin, habe ich nur den volgenden Quellcode zusammen bekommen, welcher aber noch nicht vollständig ist.



// Wurzel.cpp : Berechnet die Wurzel einer beliebigen Zahl mit beliebieger Genauigkeit

//



#include

#include

void main(void)

{

double erg=0; //Variable für das Ergebnis

double tol=0; //Variable für eingegebene Toleranz

double zahl=0; //Variable für die eingegebene Zahl

double wertalt=2; //Variable für den letzten Schätzwert bei start=1

double wertneu=1; //Variable für den neuberechneten Schätzwert bei start=1

int iter=0; //Variable für Umläufe der Iteration



printf("*** Quadratwurzel ***\n"); //Ausgabe Bildschirm

printf("Eingabe der erforderlichen Genauigkeit: "); //Ausgabe Bildschirm

if(scanf("%lf",&tol)) //Wert Toleranz einlesen



{

fflush(stdin); //Tastaturpuffer löschen

// printf("\n Eingegebene Zahlen %lf \n",tol);

}

else

{

fflush(stdin); //Tastaturpuffer löschen

printf("\n Sie haben keine gueltige Genauigkeit eingegeben\n"); //Falsche Eingabe



}



printf("Eingabe der Zahl: "); //Ausgabe Bildschirm

if(scanf("%lf",&zahl)){ //Wert Zahl einlesen

fflush(stdin); //Tastaturpuffer löschen

// printf("\n Eingegebene Zahl %lf \n",zahl);

}

else{

fflush(stdin); //Tastaturpuffer löschen

printf("\n Sie haben keine gueltige Zahl eingegeben\n"); //Falsche Eingabe

}

while(fabs(wertalt-wertneu)>tol){ // Toleranzüberprüfung

iter=iter+1; // Schleife plus 1

wertalt=wertneu; // alter Wert auf neuen Wert setzen

wertneu=(wertalt+zahl/wertalt)/2; // neuen Wert berechnen



}

printf("\nDie Quadratwurzel von %.4f ist %.4f\n",zahl,wertneu); // Ausgabe des Ergebnisses

printf("Der Fehler betraegt max. %.8f\n",wertalt-wertneu); // Ausgabe des max. Fehlers

printf("Der Algorithmus benoetigte %u Iterationsschritte\n\n",iter);// Ausgabe Anzahl der Schritte

}



geschrieben von

Login

E-Mail:
  

Passwort:
  

Beitrag anfügen

Symbol:
 
 
 
 
 
 
 
 
 
 
 
 
 

Überschrift: