#include #include #include #include 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; }