#include #include #include #include #define LEN 100 #define R 0.77 void genCirc(float* ,float*); void contaPepe(float,float,int*,int*,int*); void media(int*,int*,int*,float*,float*,float*); int main() { int N,cond,a,b,c,i,j,A[LEN],B[LEN],C[LEN]; float NA=0,NB=0,NC=0; float x,y; srand48(time(0)); printf("Questo programma simula la caduta di N granelli di pepe su un pavimento.\n"); do{ printf("Inserire il numero N di granelli in [330,550]:\n"); scanf("%d",&N); cond=(N<330)||(N>550); if(cond) printf("Errore! "); } while(cond); for(j=0;jR); } void contaPepe(float x,float y,int* a,int* b,int* c) { int condA,condB,condC; /* Si e' deciso convenzionalmente di considerare il lato comune tra A e B come appartenente a B e il lato comune tra B e C come appartenente a C. */ condA=(x>=0) && (x<=0.5) && (y>=0) && (y<0.5); condB=(x>=0) && (x<0.5) && (y>=0.5); condC=(x>=0.5) && (y>=0.5); if(condA) (*a)++; if(condB) (*b)++; if(condC) (*c)++; } void media(int* A,int* B,int* C,float* NA,float* NB,float* NC) { int i; for(i=0;i