Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include<stdio.h>
- #include<stdlib.h>
- #include<math.h>
- #define NOMEFILE "dati.bin"
- typedef FILE* pfile;
- typedef float* pfloat;
- typedef double* pdouble;
- int main(void)
- {
- int nc;
- float mediax,sigmax;
- double mediay,sigmay;
- pfile pf1;
- pfloat px,pxi;
- pdouble py,pyi;
- if((pf1=fopen(NOMEFILE,"rb"))==NULL)
- {
- printf("OPS! Non è stato possibile aprire il file\n");
- return EXIT_FAILURE;
- }
- else printf("tutto a posto, file aperto\n");
- fread(&nc,sizeof(int),1,pf1);
- printf("%d\n",nc);
- if((px=(pfloat)malloc(nc*sizeof(float)))==NULL)
- {
- printf("OPS! Non è stato possibile creare il vettore x\n");
- return EXIT_FAILURE;
- }
- else printf("tutto a posto, vettore x creato\n");
- if((py=(pdouble)malloc(nc*sizeof(double)))==NULL)
- {
- printf("OPS! Non è stato possibile creare il vettore y\n");
- return EXIT_FAILURE;
- }
- else printf("tutto a posto, vettore y creato\n");
- fread(px,sizeof(float),nc,pf1);//prima metto l'indirizzo dove voglio mettere le cose, poi specifico la dimensione in byte del singolo elemento, poi quanti ne voglio mettere e poi l'indirizzo del file da cui voglio acquisire i dati.
- fread(py,sizeof(double),nc,pf1);
- fclose(pf1);
- //TEST
- for(pxi=px;pxi<(px+nc);pxi++)
- {
- printf("%f ",(*pxi));
- }
- printf("\n");
- for(pyi=py;pyi<(py+nc);pyi++)
- {
- printf("%f ",(*pyi));
- }
- printf("\n");
- //FINE TEST
- for(pxi=px,pyi=py+nc-1,mediax=0,mediay=0;pxi<(px+nc);pxi++,pyi--)//non mi serve anche la condizione pyi>(py-nc)
- {
- mediax+=(*pxi);
- mediay+=(*pyi);
- }
- printf("media x=%f\n",(mediax=(mediax/nc)));
- printf("media y=%lf\n",(mediay=(mediay/nc)));
- for(pxi=px,pyi=py+nc-1,sigmax=0,sigmay=0;pxi<(px+nc);pxi++,pyi--)
- {
- sigmax+=((*pxi)-mediax)*((*pxi)-mediax);
- sigmay+=((*pyi)-mediay)*((*pyi)-mediay);
- }
- printf("devstd x=%f\n",(sigmax=sqrt((sigmax)/(nc-1))));
- printf("devstd y=%f\n",(sigmay=sqrt((sigmay)/(nc-1))));
- free(px);
- free(py);
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement