Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h> /*per printf*/
- #include <stdlib.h> /*per rand()*/
- #include <time.h> /*per srand*/
- #define N 100000
- #define PI 3.14
- void main (void)
- {
- unsigned int i,n_hits;
- float r, area, x, y;
- time_t t; /*per la srand*/
- /*Devo inizializzare il seme per avere valori diversi*/
- srand((unsigned)time(&t));
- i=0;
- n_hits=0;
- printf("Ti calcolero' l'area del cerchio usando metodi statistici\nInserisci il raggio del cerchio\n");
- /*quando imparerai ad usare LE STRINGHE dovrai usare la scanf solo con LE STRINGHE*/
- scanf ("%f",&r);
- /*Considero il quadrato che contiene il cerchio
- quadrato di lato 2*r
- (uso come sistema di riferimento quello la cui
- origine e' il centro del cerchio*/
- while (i<N)
- {
- /*la rand ritorna valori INTERI casuali tra 0 e RAND_MAX*/
- x=(((float)(rand()))/(RAND_MAX))*2*r-r;
- y=(((float)(rand()))/(RAND_MAX))*2*r-r;
- if ((x*x+y*y)<r*r)
- {
- n_hits++; /*incrementa di uno la variabile*/
- }
- i++;
- }
- printf ("Il valore stimato dell'area del cerchio e' pari a: %f\n",(((float)(n_hits))*4*r*r)/N);
- /*(((float)(n_hits))*4*r*r)/N sto costringendo il risultato ad essere float, senza avevo problemi*/
- printf ("Il valore dell'area del cerchio usando la formula pi_greco*r*r e' pari a: %f\n",PI*r*r);
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement