Advertisement
Markort

AcadEx: Sample Deviation and Confidence Interval - ITA

Mar 20th, 2013 (edited)
98
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 1.18 KB | None | 0 0
  1. #include <stdio.h>
  2. #include <math.h>
  3. #define MAX_N 1000
  4.  
  5. void getDati(long double*,int);
  6. long double mediaCamp(long double*,int);
  7. long double devStd(long double*,long double,int);
  8.  
  9. int main () {
  10.   long double dati[MAX_N], med, dev, unc;
  11.   int n;
  12.   do {
  13.     printf("Numero dati [0,%d]: ",MAX_N);
  14.     scanf("%d",&n);
  15.   } while (n<0 || n>MAX_N);
  16.   getDati(dati,n);
  17.   med = mediaCamp(dati,n);
  18.   dev = devStd(dati,med,n);
  19.   unc = dev/sqrt(n);
  20.   printf("Media campionaria: %Lf\n",med);
  21.   printf("Deviazione standard campionaria: %Lf\n",dev);
  22.   printf("Valore al 68percento: %Lf (+-)%Lf\n",med,unc);
  23.   printf("Valore al 99percento: %Lf (+-)%Lf\n",med,3*unc);
  24.   return 0;
  25. }
  26.  
  27. void getDati (long double*array,int len) {
  28.   int i;
  29.   for (i=0;i<len;i++) {
  30.     printf("Inserisci valore %d: ",i+1);
  31.     scanf("%Lf",array+i);
  32.   }
  33. }
  34.  
  35.  
  36. long double mediaCamp (long double*array,int len) {
  37.   int i;
  38.   long double out=0;
  39.   for (i=0;i<len;i++) {
  40.     out+= *(array+i);
  41.   }
  42.   return out/len;
  43. }
  44.  
  45. long double devStd (long double*array,long double in, int len) {
  46.   int i;
  47.   long double out=0;
  48.   for (i=0;i<len;i++) {
  49.     out+= pow(array[i]-in,2);
  50.   }
  51.   return sqrt(out/(len-1));
  52. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement