#include #include #include #include #define LEN 10000 #define B 1. #define A 0. /* Questo programma popola un array uni-dimensionale di lunghezza maggiore di zero ma minore della soglia prefissata LEN con numeri razionali casuali, ottenuti a partire dalla funzione lrand48(), e compresi nell'intervallo [A,B]. Nel programma si calcolano il valore minimo, massimo, la media e la deviazione standard dei valori degli elementi dell'array. Ho "corretto" lo sfasamento di uno fra l'indice dell'array e quello dell'estrazione*/ main(){ int i,N=0,len=LEN; int imin=0, imax=0; int seed; double dataRand[LEN]; double min,max; double media,mediaSq,varianza; do { printf("Inserire il numero dei dati (maggiore di zero e minore di %d) \n", len); scanf("%d",&N); if((N<=0))printf("\nIl dato inserito e' minore di zero\n"); if((N>LEN))printf("\nIl dato inserito e' maggiore di %d \n",len); }while((N<=0)||(N>LEN)); seed = time(0); srand48(seed); for(i=0;imax){ max=dataRand[i]; imax=i+1; } media += dataRand[i]; mediaSq += pow(dataRand[i],2.); } media /= N; mediaSq /= N; varianza=sqrt(mediaSq-media*media); printf("Il minimo e' %f e si e' ottenuto all'estrazione %d\n",min,imin); printf("Il massimo e' %f e si e' ottenuto all'estrazione %d\n",max,imax); printf("La media e' %f\n",media); printf("La media del quadrato e' %f\n",mediaSq); printf("La varianza e' %f\n",varianza); }