Odpowiedzi

Najlepsza Odpowiedź!
  • Użytkownik Zadane
2009-12-02T20:12:21+01:00

#include <iostream>
#include <stdlib.h>

int main(void)

{
long double x,y; // współrzędne losowego punktu
long double T=0,R,ilosc,pi; // ilosc- liczba punktów generowanych
// T- liczba punktów w polu koła

//incjalizacja generatora licznb pseudolosowych

srand(time(NULL));

std:: cout << "Ile punktow? ";
std::cin >> ilosc;

// losowanie liczb rzeczywistych z zakresu ,<0,1>.

for(R=0; R<ilosc; R++)
{
x = (double)rand()/(RAND_MAX); // losujemy liczby rzeczywiste
y = (double)rand()/(RAND_MAX); // z zakresu <0,1>

// sprawdzenie czy wygenerowany punkt należy do koła o promieniu 1

if (x*x+y*y<=1)

T++; //jeśli punkt należy do koła to licznik T zostaje zwiekszony o jeden
}

pi= (4*T)/R;
std::cout << "liczba pi ma wartosc : " << pi;

std:: cin.ignore();
getchar();
return 0;
}
2009-12-02T20:12:13+01:00
2009-12-02T21:47:12+01:00
<html>
<head>
<title>Wyznaczanie liczby PI metodą Monte Carlo</title>
</head>
<body>
<script language="javascript">

//***************************************
//** Przykładowa aplikacja obliczająca **
//** pole koła wpisanego w kwadrat **
//** za pomocą metody Monte Carlo **
//**-----------------------------------**
//** (C)2004 mgr Jerzy Wałaszek I LO **
//***************************************

function js_p()
{
var n = parseInt(document.frm_pi.inp_n.value);
var nk,s,x,y,i;

if(isNaN(n) || (n < 2))
s = "<font color=red><b>Popraw dane</b></font>";
else
{
nk = 0;
for(i = 1; i <= n; i ++)
{
x = Math.random() * 2; y = Math.random() * 2;
if(Math.sqrt((x-1)*(x-1) + (y-1)*(y-1)) <= 1) nk++;
};
s = 4 * nk / n;
s = Math.round(s * 100000) / 100000;
};
document.getElementById("pole").innerHTML = s;
}

</script>

<form method="POST"
name="frm_pi"
style="border: 2px solid #FFCC66;
padding-left: 4px;
padding-right: 4px;
padding-top: 1px;
padding-bottom: 1px;
background-color: #FFFFCC">
<h3 style="text-align: center">
Obliczanie pola koła wpisanego w kwadrat o boku 2<br>
za pomocą metody Monte Carlo
</h3>
<hr>
<p style="text-align: center">
(C)2004 mgr Jerzy Wałaszek&nbsp; I LO w Tarnowie
</p>
<p style="text-align: center">
Podaj liczbę punktów do wygenerowania =
<input type="text" name="inp_n" size="20" value="10000">
</p>
<p style="text-align: center">
<input onclick="js_p();" type="button"
value="Oblicz pole koła" name="B1">
</p>
<p style="text-align: center">
Pole koła wynosi : <span id="pole">...</span>
</p>
</form>
</body>
</html>