_fux_
0
hi, ich poste mal schnell die codes und schreibe dann am enden die codes:
und:
der erste un der 2te code sollten eigntl. genau das selbe machen, aber der erste code bringt ab dem 4ten wert nur falsche werte und ich weiß ned warum....
es geht nicht um die Stil frage sondern rein um die begründung warum denn der erste Code nicht funktioniert Oo
Code:
#include <iostream>
#include <iomanip>
#include <fstream>
#include <vector>
std::vector< double > vec;
using namespace std;
Code:
void integral_rek(int n)
{
// const double PI = 3.1415926535897932384626433832795028841971693993751058209749445923078164062862089986280348253421170679;
const double PI = 3.14159265358979; //3;
double V_1[41];
double schritt1;
double schritt2;
V_1[0] = 2/PI;
V_1[1] = 1/PI;
if (n==2){
cout << setprecision(14) << scientific << "0 " << V_1[0] << endl;
cout << setprecision(14) << scientific << "1 " << V_1[1] << endl;
}
if (n>=2){
schritt1 = (n*(n-1))/(PI*PI);
schritt2 = schritt1 * V_1[n-2];
V_1[n-1] = V_1[1] - schritt2;
cout << setprecision(14) << scientific << n << " " << V_1[n-1] << endl;
}
if (n<40) integral_rek(n+1);
}
int main()
{
integral_rek(2);
return 0;
}
und:
Code:
double fn( int n )
{
const double PI = 3.14159265358979;
if( n == 0 )
{
return 2/PI;
}
else if( n == 1 )
{
return 1/PI;
}
else
{
return 1/PI-(n*(n-1)/(PI*PI))*fn(n-2);
}
}
int main()
{
for( int i = 0; i < 40; i++ )
{
vec.push_back( fn( i ) );
cout << setprecision(14) << scientific << i << " , " << fn(i) << endl;
}
return 0;
}
der erste un der 2te code sollten eigntl. genau das selbe machen, aber der erste code bringt ab dem 4ten wert nur falsche werte und ich weiß ned warum....
es geht nicht um die Stil frage sondern rein um die begründung warum denn der erste Code nicht funktioniert Oo