C++ - Was stimmt hier nicht?
Das hier soll ein ganz einfaches Programm sein um Pi bei einer bestimmten Genauigkeit gemäß der Formel
Pi/4 = 1/1 - 1/3 + 1/5 - 1/7 + 1/9 ...
zu berechen. Allerdings funktioniert irgendetwas nicht.
Sourcecode:
#include <stdio.h>
#include <iostream>
using namespace std;
int vzc = -1, vorzeichen = 1, genau = 1, nenner = 1;
double pi = 0;
main()
{
printf("\n\tBitte Genauigkeit angeben ( Nachkommastellen )\n\t");
scanf("%d", &genau);
genau *= 2;
for( nenner = 1; nenner <= genau; nenner += 2 )
{
vorzeichen *= vzc;
nenner *= vorzeichen;
pi = pi - ( 1 /nenner );
}
printf("\n\tBei einer Genauigkeit von %d ist Pi %f\n\t", genau/2, pi*4);
system("pause");
}
Wenn ich als Genauigkeit 1 eingeben also , sie 2 ist dann wird eine Berechnung durchgeführt und dann is Schluss.
Wenn ich aber 2 oder mehr eingebe, wird unendlich lang gerechnet und außerdem kommt in beiden Fällen ein falsches Ergebnis heraus.
Rest folgt...
Tags: