Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- #include <stdlib.h>
- #include <time.h>
- #include <math.h>
- #define NMAX 1000000
- #define MaxFacce 100
- int getInt (char*,int,int);
- double mediaCamp (int*,int);
- double devStd (int*,double,int);
- int main () {
- int x, i, c, j, dati[NMAX], N, facce;
- double media, dev;
- srand48(time(0));
- facce = getInt("Facce del dado",1,MaxFacce);
- c = getInt("Inserire numero da attendere",1,facce);
- N = getInt("Numero di prove",1,NMAX);
- for(i=0;i<N;i++) {
- j=0;
- do {
- x = (lrand48()%facce)+1;
- j++;
- } while(x!=c);
- *(dati+i) = j;
- }
- media = mediaCamp(dati,N);
- dev = devStd(dati,media,N);
- printf("Attesa: %lf +- %lf\n",media,3*dev/N);
- return 0;
- }
- int getInt (char*mess,int min, int max) {
- int out;
- do {
- printf("%s tra %d e %d: ",mess,min,max);
- scanf("%d",&out);
- } while(out<min||out>max);
- return out;
- }
- double mediaCamp (int*array,int len) {
- int i;
- double out=0;
- for (i=0;i<len;i++) {
- out+= *(array+i);
- }
- return out/len;
- }
- double devStd (int*array,double in, int len) {
- int i;
- double out=0;
- for (i=0;i<len;i++) {
- out+= pow(*(array+i),2);
- }
- return sqrt(out-pow(in,2));
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement