/* generazione di numeri casuali con probabilita'
   pari a quella della somma di due dadi a sei facce
   - usa un array di probabilita' cumulate per ciascuno
     dei valori possibili
   - usa un array di frequenze assolute
   - azzera l'array delle frequenze
   - ripeti NPROVE volte la generazione con probabilita' assegnata
   - visualizza i dati per il primo valore (2)
   - per ognuno dei valori possibili da 3 a 12
       - visualizza il valore
       - visualizza la probabilita' semplice 
          ricavandola come differenza di due cumulate consecutive
       - visualizza la frequenza relativa, dividendo quella 
         assoluta per il numero di prove, con divisione double
 */

#include <stdio.h>
#include <stdlib.h>
#include <math.h>
#include "genProbDiscr.h"

#define NPROVE 10000
#define NMOD 11

int main(int argcchar *argv[])
{
  int freq[NMOD];
  double prob[NMOD]={1.0/36,3.0/36,6.0/36,10.0/32,15.0/36,21.0/36,
                   //2      3      4      5      6      7
                     26.0/36,30.0/36,33.0/36,35.0/36,36.0/36};
                   //8      9      10     11     12
                   // probabilita cumulate
  int i;

  for (i=0;i<NMOD;i++) // inizializza le frequenze assolute
      freq[i]=0
  for (i=0;i<NPROVE;i++)
      freq[genProbDiscr(prob,NMOD)]+=1;
  printf("Valore %2d - probabilita' %lf - frequenza rilevata %lf\n",
             2,prob[0],(double)freq[0]/NPROVE); // dati del primo valore
  for (i=1;i<NMOD;i++)
      printf("Valore %2d - probabilita' %lf - frequenza rilevata %lf\n",
             i+2,prob[i]-prob[i-1],(double)freq[i]/NPROVE);
        // visualizza le probabilita' semplici anziche' le cumulate
  
  return 0;
}