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;
}