Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- #include <stdlib.h>
- #include <float.h>
- #include <math.h>
- #define STRLEN 256
- #define FILEPARI "pari.bin"
- #define FILEDISPARI "dispari.bin"
- #define BASENAME "file"
- typedef FILE* pfile;
- typedef float* pfloat;
- int main(void)
- {
- char s[STRLEN];
- pfile pfpari,pfdispari;
- unsigned np,nd,i;
- float minimo=FLT_MAX,massimo=-FLT_MAX;
- pfloat pdati;
- int vl,vr,j,contatore=0;
- if((pfpari=fopen(FILEPARI,"rb"))==NULL) {printf("Errore file 1\n");return EXIT_FAILURE;}
- if((pfdispari=fopen(FILEDISPARI,"rb"))==NULL) {printf("Errore file 2\n");return EXIT_FAILURE;}
- fread(&np,sizeof(unsigned),1,pfpari);
- fread(&nd,sizeof(unsigned),1,pfdispari);
- if((pdati=(pfloat)malloc(sizeof(float)*(np+nd)))==NULL) {printf("Errore memoria");return EXIT_FAILURE;}
- for(i=0;i<(np+nd);i++)
- {
- if((i%2)!=0)
- fread(&pdati[i],sizeof(float),1,pfdispari);
- else
- fread(&pdati[i],sizeof(float),1,pfpari);
- }
- fclose(pfpari);
- fclose(pfdispari);
- for(i=0;i<(nd+np);i++)
- {
- if(pdati[i]>massimo)
- massimo=pdati[i];
- if(pdati[i]<minimo)
- minimo=pdati[i];
- printf("%.2f\n",pdati[i]);
- }
- printf("Minimo=%.2f Massimo=%.2f\n",minimo,massimo);
- vl=floor(minimo);
- vr=ceil(massimo);
- for(j=vl;j<vr;j++)
- {
- for(i=contatore=0;i<(np+nd);i++)
- {
- if((pdati[i]>=(j))&&(pdati[i]<(j+1)))
- contatore++;
- }
- printf("Nell’intervallo [%d,%d[ abbiamo %d misure\n",j,j+1,contatore);
- if(contatore!=0)
- {
- sprintf(s,"%s%d.txt",BASENAME,j);
- if((pfpari=fopen(s,"w"))==NULL) {printf("Errore file 3\n");return EXIT_FAILURE;}
- fprintf(pfpari,"%d",contatore);
- fclose(pfpari);
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement