Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdlib.h>
- #include <stdio.h>
- #include <time.h>
- #define FILE_IN "numeri.txt" //file in cui ci saranno i numeri casuali generati da questo programma
- #define FILE_OUT "calcoli.txt"//fine in cui scriviamo media e deviazione standard
- #define N 1000 //numero di dati casuali
- #define STRLEN 256
- int main(void)
- {
- char s1[STRLEN],s2[STRLEN];
- float min,max,x,somma2,somma;
- int i;
- FILE*pf;
- printf("Adesso ti chiederò due numeri: massimo > minimo. Se sbagli (cioè se mi dai massimo < minimo) te lo richiederò!\n");
- do
- {
- printf("Dammi il minimo (minore di 100):\n"); //il minore di 100 e' per evitare l'overflow
- scanf("%s",s1);
- min=atof(s1);
- printf("Dammi il massimo (minore di 100):\n");
- scanf("%s",s2);
- max=atof(s2);
- }
- while(min>=max);
- //printf("min=%.3f e max=%.3f", min, max);
- pf=fopen(FILE_IN,"w");
- if(pf==NULL)
- {
- printf("Non ho potuto aprire il file %s\n", FILE_IN);
- return EXIT_FAILURE;
- }
- srand(time(NULL));
- for(i=0;i<N;i++)
- {
- x=((((float)rand()/RAND_MAX))*(max-min))+min;
- fprintf(pf,"%.2f\n",x);
- }
- fclose(pf);
- pf=fopen(FILE_IN,"r");
- for(i=0,somma=somma2=0.0;i<=N;i++)
- {
- fscanf(pf,"%s",s1);
- somma+=atof(s1);
- somma2+=(atof(s1)*atof(s1));
- }
- fclose(pf);
- pf=fopen(FILE_OUT,"w");
- if(pf==NULL)
- {
- printf("Non ho potuto aprire il file %s\n", FILE_OUT);
- return EXIT_FAILURE;
- }
- fprintf(pf,"La media è: %.3f\nLa deviazione standard è: %.3f\n", (somma/N), ((somma2/N)-((somma/N)*(somma/N))));
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement