#include <stdio.h>
#include <stdlib.h>
#include <math.h>
#include <time.h>
// prototipo funzioni
void generaVal(double teta1,double T1[]);
int contaVal(double teta2,double T2[]);
void getteta(double teta0);
// main
int main(){
double teta;
double T[1000];
int seed;
seed=time(0);
srand48(seed);
getteta(teta);
generaVal(teta,T);
printf("ciao1");
printf("%d\n",contaVal(teta,T));
return 0;
}
//definizione funzioni
void generaVal(double teta1,double T1[]){
double a1,a2,bi;
int i;
for(i=0;i<1000;i++){
//genero a1 e a2 copresi tra 1 e 0 estremi esclusi
do{
a1=(double)lrand48()/RAND_MAX;
a2=(double)lrand48()/RAND_MAX;
}while((a1=1.)||(a2=1.)||(a1=0.)||(a2=0.));
bi=(cos(2.*M_PI*a1))*(sqrt(-2.*log(a2)));
T1[i]=(bi*teta1)+10.;
}
printf("%lf",T1[0]);
return;
}
//funzione conta valori
int contaVal(double teta2,double T2[]){
int c=0,j=0;
do{
if ((T2[j]>(10-(0.5*teta2)))||(T2[j]<(10+(0.5*teta2)))){
c++;
}
j++;
}while(j!=1000);
return c;
}
//funzione get teta
void getteta(double teta0){
printf("inserisici teta \n");
scanf("%lf", &teta0);
do{
if ((teta0<=0.0)||(teta0>=1.0)){
printf("Errore inserisci teta compresa tra 0 e 1\n");;
scanf("%lf", &teta0);}
}while((teta0<=0.)||(teta0>=1.));
return;
}