All pastes #246721 Raw Edit

Someone

public c v1 · immutable
#246721 ·published 2006-11-12 16:18 UTC
rendered paste body
#include <stdio.h>#include <math.h>int main(void){    char berechnung='j';    int i;    double y_neu, y_alt, x, acc, diff;    while(berechnung!='n') {        printf("\nDie Wurzel aus welcher Zahlen ziehen: ");        scanf("%lf", &x);        fflush(stdin);        printf("\nGenauigkeit: 10^-");        scanf("%lf", &acc);        fflush(stdin);                i=1;        y_alt=x/2;                       while(1) {                  y_neu=0.5* ((x/y_alt) + y_alt);            diff=fabs(y_neu-y_alt);            printf("\nZyklus %d: ", i);            printf("\n\tneuer Wert von y:%.8lf", y_neu);            printf("\n\tAbsolutwert der Differenz:%.8lf", fabs(y_neu-y_alt));            if(diff <= fabs(pow(10,-acc))) {                printf("\n\nErgebnis mit Naeherungsverfahren: %.8lf", y_neu);                printf("\nErgbnis von sqrt aus math.h: %.8lf", sqrt(x));                break;            }            y_alt=y_neu;            i++;        }    printf("\n\nErneute Berechnung? j/n: ");    berechnung=getchar();    fflush(stdin);    }    return 0;}/* Ausgabe:           Die Wurzel aus welcher Zahlen ziehen: 36Genauigkeit: 10^-8Zyklus 1:        neuer Wert von y:10.00000000        Absolutwert der Differenz:8.00000000Zyklus 2:        neuer Wert von y:6.80000000        Absolutwert der Differenz:3.20000000Zyklus 3:        neuer Wert von y:6.04705882        Absolutwert der Differenz:0.75294118Zyklus 4:        neuer Wert von y:6.00018311        Absolutwert der Differenz:0.04687572Zyklus 5:        neuer Wert von y:6.00000000        Absolutwert der Differenz:0.00018311Zyklus 6:        neuer Wert von y:6.00000000        Absolutwert der Differenz:0.00000000Ergebnis mit Naeherungsverfahren: 6.00000000Ergbnis von sqrt aus math.h: 6.00000000Erneute Berechnung? j/n: n*/