/* File: dice3.c
   
   Print out the probabilities of rolling 
   two six-sided dice using our random
   number generator.
*/

#include <stdio.h>
#include "genlib.h"
#include "simpio.h"
#include "random.h"

main() {
   int prob[13] ; 
   int die1, die2, sum, i, j, n ;
   double bar_height ;

   /* Initialize array to zero */
   for (i=2; i<=12 ; i++) {
      prob[i] = 0 ;
   }

   SetRandomRange(1,6) ;
   SetRandomSeed() ;

   printf("Number of trials: ") ;
   n = GetInteger() ;

   /* Run Simulations */
   for (i = 0 ; i < n ; i++) {
      die1 = GetRandomNumber() ;
      die2 = GetRandomNumber() ;
      sum = die1 + die2 ;
      prob[sum] ++ ;
   }


   /* Print out results */
   for (i = 2 ; i<=12 ; i++ ) {
      printf("%d: %d\n", i, prob[i] ) ;
   }
   printf("\n") ;

   /* Print out histogram */
   for ( j = 15 ; j >= 1 ; j-- ) {
      for ( i = 2 ; i <= 12 ; i++) {
	 /* Scale and round the values */
	 bar_height = 36.0/n * prob[i] + 0.5 ;
	 if ( bar_height >= j ) {
	    printf(" * ") ;
	 } else {
	    printf("   ") ;
	 } /* else */
      } /* for (i = ...  */
      printf("\n") ;
   } /* for (j = ... */

   /* label the histogram */
   for ( i = 2 ;  i <= 12 ; i++) {
      printf("%2d ", i) ;
   }
   printf("\n") ;

   printf("Each row = %d\n", n/36) ;
}

