#include <stdio.h>
#include <stdlib.h>
#include <math.h>
#include <limits.h>

#define TOPRAN 100000000
#define MAXLEN 1000
#define STRLEN 64
#define ITR 1000000

void main(void)
{
  int i,j,len,freq[MAXLEN],bin[MAXLEN],check=1,dx,x;
  char input[STRLEN];
  
  printf("Quanti bin vuoi che usi? ");
  do
    {
      printf("Inserisci un numero minore di %d e maggiore di 0.\n",MAXLEN);
      scanf("%s",input);
      len=atoi(input);
      if((len>MAXLEN)||(len<=0))
        {
          printf("Input non valido. ");
        }
      else
        check=0;
    }
  while(check==1);

  dx=TOPRAN/len;
  
  for(i=0;i<len;i++)
      freq[i]=0;
      
  printf("Ecco i bin:\n");
  for(i=1,bin[0]=0;i<len;i++)
    {
      bin[i]=bin[i-1]+dx;
      printf("%d\n",bin[i]);
    }
  
  printf("Ecco le frequenze assolute:\n");
  
  for(i=0;i<ITR;i++)
    {
      printf("iterazione: %d/%d\n",i,ITR);
      
      do
        {
          x=rand();
          //printf("Numero random:%d\n",x);
        }
      while(x>TOPRAN);
      
      j=0;
      do
        {
          if(x>bin[j])
            {
              j++;
              //printf("vado avanti\n");
            }
          else
            {
              freq[j-1]++;
              j=len;
              //printf("beccato\n");
            } 
        }
      while(j<len);
    }
    
    
  for(i=0;i<len;i++)
    {
      printf("%d) %d\n",i+1,freq[i]);
    }
}