#include <stdio.h>
#include <stdlib.h>
#include <float.h>

#define NOMEFILE "dati.bin"
#define SOGLIA   ((100.0-90)/(100*2))


typedef FILE*   pfile;
typedef float* pfloat;


int main(void)
 {int    i,n,n1;
  pfloat v;
  pfile  f;
  float tripla[3],vr,min=FLT_MAX,max=-FLT_MAX,delta;
 
  if ((f=fopen(NOMEFILE,"rb"))==NULL) 
   {printf("ERRORE: Non ho potuto aprire il file %s!!!\n",NOMEFILE);
    return EXIT_FAILURE;
   }

  fread(&n,sizeof(int),1,f);

  if ((v=(pfloat)malloc(sizeof(float)*n))==NULL) 
   {printf("ERRORE: Memoria insufficiente!!!\n");
    return EXIT_FAILURE;
   }

  for(i=0;i<n;i++)
   {if (fread(tripla,sizeof(float),3,f)!=3) 
     {printf("ERRORE: File troppo corto!!!\n");
      return EXIT_FAILURE;
     }
    v[i]=vr=tripla[0]*tripla[2]+tripla[1];
    if (vr>max) max=vr;
    if (vr<min) min=vr;
    printf("vr[%d]=%f\n",i,vr);
   }

  fclose(f);

  delta=SOGLIA*(max-min);
  min+=delta;
  max-=delta;
  
  for(n1=i=0;i<n;i++) if ((v[i]>min)&&(v[i]<max)) n1++;
   
  printf("Il numero di valori inclusi nell'intervallo [%f,%f] e' pari a %d\n",min,max,n1);

  return EXIT_SUCCESS;
  
 }
