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 N 100000
- #define C 1,96
- void main(void)
- {
- float min, max, cost,x,somma,prodotto,sigmaq,media,xmedio=0,inf,sup;
- int irand=0;
- printf("Calcolare la media entro un intervallo di confidenza del 95 percento.\nDammi due numeri reali in questo ordine: min, max:\n");
- scanf("%f%f",&min,&max);
- srand(time(NULL));
- cost=((max-min)/RAND_MAX);
- xmedio=(max+min)/2;
- somma=0;prodotto=0;sigmaq=0;media=0;irand=0;inf=0;sup=0;
- do
- {
- x=((float)(rand())*cost)+min;
- irand++; //contatore rand
- somma+=x; //printf("somma=%f\n",somma);
- x*=x;
- prodotto+=x;
- media=somma/irand;// printf("media=%f\n",media);
- sigmaq=(prodotto/irand)-(media*media); //printf("dev=%f\n",sqrt(sigmaq));
- inf=xmedio-(C*(sqrt(sigmaq/irand)));
- sup=xmedio+(C*(sqrt(sigmaq/irand)));
- //printf("inf=%f\nsup=%f\n",inf,sup);
- if ((media<=sup)&&(media>=inf))
- {
- printf("siamo ad un livello del 95 percento di confidenza, la media è %f e la deviazione standard è %f.\nNumero di iterazioni fatte: %d\n",media, sqrt(sigmaq),irand);
- break;
- }
- }
- while(irand==N);
- if(irand==N)
- printf("ho già fatto %d iterazioni ma non ho ancora raggiunto un livello di confidenza almeno pari al 95 percento.\nLa media è: %f\nLa deviazione standard è: %f",media, sqrt(sigmaq));
- }
Add Comment
Please, Sign In to add comment