Witam, mam wyznaczyć liczbę PI metodą Monte Carlo, bez używania liczb SRAND itp. Zrobiłem taki program, jednak wypisuje mi on liczbę w okolicach 2,82, bardzo proszę o uwagi, gdzie tkwi problem.
#include <iostream>
#include <math.h>
using namespace std;
bool target(double x, double y, double a, double b, double r)
{
double kolo;
kolo = (((x - a)*(x - a)) + (y - b)*(y - b));
if (kolo<= r*r)
return true;
else
return false;
}
int main()
{
double a, b, x, y, r;
double srodek=0, wszystkie=0;
double wynik;
double krok = 0.0001;
r = 1;
x = 0;
y = 0;
a = -r;
b = -r;
while (a <= r && b <=r)
{
if (target(x, y, a, b, r))
srodek++;
a += krok;
b += krok;
wszystkie++;
}
cout << srodek << endl;
cout << wszystkie << endl;
wynik = 4 * (srodek / wszystkie);
cout << wynik << endl;
system("pause");
return 0;
}