#include <cmath> #include <cstdlib> #include <ctime> #include <iostream> using namespace std; #define PI 3.14159265358979 #define VERSUCHE 10000000 /* N�herungsweise Fl�chenberechnung (Integration) f�r die Kurve * der Funktion sin(x) im Bereich 0 bis PI �ber das Monte-Carlo- * Verfahren - korrektes Ergebnis w�re 2 * */ int main() { float x,y; int treffer; srand(time(NULL)); // Wir setzen zuf�llig erzeugte Versuchspunkte, // Anzahl: VERSUCHE for (int i=0; i < VERSUCHE; i++) { // Jeder Versuchspunkt ist im Bereich // 0 <= x <= PI und 0 <= y <=1 x = rand()%100000*PI/100000.0; y = rand()%100000/100000.0; // Ist der Punkt tats�chlich unterhalb der // Kurve, ist er Teil der Fl�che und somit ein // Treffer if (y < sin(x)) treffer++; } // Die Fl�che berechnen wir aus der gesamten Testfl�che // PI*1 und dem Verh�ltnis von Treffern zu den Versuchen float flaeche = PI * treffer / VERSUCHE; cout << "Gesch�tzte Fl�che: " << flaeche << endl; return 0; }