Write a Program in C++ That Die-rolling Program Using An Array Instead of Switch

// Die-rolling program using an array instead of switch.
#include <iostream>
#include <iomanip>
#include <array>
#include <random> 
#include <ctime>
using namespace std;

int main()
{
   // use the default random-number generation engine to
   // produce uniformly distributed pseudorandom int values from 1 to 6
   default_random_engine engine( static_cast< unsigned int >( time(0) ) );
   uniform_int_distribution< unsigned int > randomInt( 1, 6 ); 

   const size_t arraySize = 7; // ignore element zero
   array< unsigned int, arraySize > frequency = {}; // initialize to 0s

   // roll die 6,000,000 times; use die value as frequency index
   for ( unsigned int roll = 1; roll <= 6000000; ++roll )       
      ++frequency[ randomInt( engine ) ];

   cout << "Face" << setw( 13 ) << "Frequency" << endl;

   // output each array element's value
   for ( size_t face = 1; face < frequency.size(); ++face )  
      cout << setw( 4 ) << face << setw( 13 ) << frequency[ face ] 
         << endl;
} // end main

0 comments:

Post a Comment

Related Posts Plugin for WordPress, Blogger...