Academic Integrity: tutoring, explanations, and feedback — we don’t complete graded work or submit on a student’s behalf.

Please supply source code. Using C++, write program that generates random number

ID: 3837892 • Letter: P

Question

Please supply source code. Using C++, write program that generates random number between spceified range 100 times and counts/ displays how often each number was generated using an integer array of size N+1. All the elements in the array should be initialized to 0. Each time a new random number is generated, the corresponding element of the array should be incremented by 1.

use the following functions:

getUpperBound(lower, upper, MAX): asks user to enter upper bound of range possible for random number

getRandomNumber(lower, upper): invokes C++ random number generator. Returns numbers generated.

updateArray(counterArray, randoNum): accepts the array of counters and random numbers as parameters and then increments the appropriate element of the arry by one (element indexed by randomNum)

summaryInformation(array, size): displays appropriate summary information. shold look something like as follows:

Random Number

0 was generated 8 times

1 was generated 12 times

Explanation / Answer

#include <iostream>
#include <cstdlib>
#include <ctime>

using namespace std;

void getUpperBound(int lower, int &upper, int MAX){

   cout<<"Enter a number in between "<<lower<<" and "<<MAX<<"(exclusive): ";
   cin>>upper;
}

int getRandomNumber(int lower, int upper){
   return rand()%(upper - lower + 1) + lower;
}

void updateArray(int counterArray[], int randoNum){
   counterArray[randoNum]++;
}

void summaryInformation(int array[], int size){

   //cout<<"Number "<<"Count"<<endl;
   for(int i=0; i<=size; i++){
       cout<<i<<" was generated "<<array[i]<<" times "<<endl;
   }
}

int main(){


   int MAX = 100;
   int lower = 0;
   int upper;

   getUpperBound(lower, upper, MAX);

   int *array = new int[upper+1];
   for(int i=0; i<=upper; i++)
       array[i] = 0;

   for(int i=0; i<100; i++){
       int r = getRandomNumber(lower, upper);
       updateArray(array, r);
   }

   summaryInformation(array, upper);

   return 0;
}