Ask Question

Name:
Title:
Your Question:

Answer Question

Name:
Your Answer:
User Submitted Source Code!


Description:
  EEEENDLICh
Language: C/C++
Code:
#include <stdio.h>
#include <stdlib.h>
#include <math.h>

     //Sinus als Funktion

      double ableitung (double x)
     {
      double sin;

      sin = -x + pow(x, 3)/6 - pow(x, 5)/120 + pow(x, 7)/5040 - pow(x, 9)/362880 + pow(x, 11)/39916800;

      return sin;
     }
          
     //Cosinus als Funktion

     double funktion (double x)
     {
     double cos;

     cos = 1 - pow(x, 2)/2 + pow(x, 4)/24 - pow(x, 6)/720 + pow(x, 8)/40320 - pow(x,10)/3628800 + pow(x,12)/479001600;
     
     return cos;
     }

//Hauptprogramm

int main()
{


     long int n=100;
     double f;
     double ende = pow(10, -13.0);  //Bedeutung: 10hoch(-13)
     double x0, x = 0.406; // Besserer Wert
     
     do
     {
     

     //da im Nenner niemals 0 sein darf wird hier überprüft
     if(ableitung(x)!=0)
      {

          x0 = x - (funktion(x) / ableitung(x));

          x = x0;

          printf("Zwischenergebnis: %.12e n", x0);
       printf(" n");
      n--;
      }


          //Absolutbetrag fabs für Fließkommazahlen 
      
     } while (fabs(funktion(x0)) > ende ||n<=0);

     printf("Nullstele: %.12en",x0);
     f = funktion(x0);
     printf("f(%f)= %fn",x0,f);


       // Das selbe für den schlechteren Wert
       /*     double x0, x = 0.404;
     
       do

       {

           x0 = x - (funktion(x) / ableitung(x));

           x = x0;
           
       } while (fabs(funktion(x0)) > ende);
     
         printf("Nullstele: %.12 n",x0);

         f = funktion(x0);

         printf("f(%f)= %fn",x0,f);
         */


     //Ausgabe von Pi
     double pi = 4.0*atan(1.0);
     
     double pi_berechnet = 2*x0;
     double dif = pi_berechnet - pi;
     printf("n");
     printf("Vergleich von pi: %fn",dif);

          system("PAUSE");

          return 0;
}     
     
          
          
Comments: