X-Git-Url: https://hackdaworld.org/gitweb/?p=my-code%2Fbeginners.git;a=blobdiff_plain;f=pie.c;fp=pie.c;h=10396894f4f74fa5727824401cfb0768a9c2883a;hp=0000000000000000000000000000000000000000;hb=2473d40268a211cffc6bfbd8a19e66fce838c236;hpb=7d26cede0a579c4b9876f258fa629042f43e00d3 diff --git a/pie.c b/pie.c new file mode 100644 index 0000000..1039689 --- /dev/null +++ b/pie.c @@ -0,0 +1,55 @@ +#include +#include +#include + +int counter1; +float counter2; +int steps; +int hits; +float x; +float x2; +float y; +float y2; +float pie; +char stepschar[100]; + +int main() +{ + + printf("\n"); + printf("\n"); + printf("Berechne Pie...\n"); + printf("\n"); + printf("Genauigkeit - [steps] ? : "); + + fgets(stepschar, sizeof(stepschar), stdin); + sscanf(stepschar, "%d", &steps); + + counter2 = 0; + hits = 0; + + for (counter1 = 1; counter1 <= steps; ++counter1) + { + x = rand( ); + y = rand( ); + + x2 = x / RAND_MAX; + y2 = y / RAND_MAX; + + printf("%7d. Vektor: ( %f , %f )\n", counter1, x2, y2); + + if( ( x2 * x2 + y2 * y2) <= 1 ) + ++hits; + + counter2 = counter2 + x2 + y2; + + } + + pie = (4.0 * hits) / steps; + + printf("\n"); + printf("\tPie :\t %1.8f\n", pie); + printf("\tProbe:\t %1.8f (nah an 0.5 ?...)\n\n", counter2 / ( 2.0 * steps )); + +return (0); +}