23. Oktober 200916 j Hallo Bei meinem Script, das Pi ausrechnen soll gibt es einen Fehler bei der Ausgabe. Statt Pi kommt entweder 0.000000000 oder 4.000000000 raus.Der Script ist so gedacht, dass man die Anzahl der x/y Koordinaten eingibt und dann den Nährungswert von Pi erhält.Hier ist der Script : #include <stdlib.h> #include <stdio.h> #include <time.h> int main () { int n; int i; int s = 0; double x; double y; double a; scanf("%d",&n); for(i=n;i>0;i=i-1) { srand(( unsigned )time( NULL )); x = rand() / ((double)RAND_MAX + 1); y = rand() / ((double)RAND_MAX + 1); a = sqrt(x*x+y*y); if (a<=1) s = s+1; } double res = (double)s/(double)n*4; printf("%f",res); system("pause"); return 0; } Vielleicht könnt ihr mir ja weiterhelfen !!!
23. Oktober 200916 j Du solltest srand nur einmal aufrufen. So initialisierst du jedesmal den Zufallsgenerator mit der Zeit in Sekunden, erhältst also während dieser Sekunde immer wieder denselben Wert von rand.
Archiv
Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.