Howdy, Stranger!

It looks like you're new here. If you want to get involved, click one of these buttons!

Categories

Welcome to the new platform of Programmers Heaven! We apologize for the inconvenience caused, if you visited us from a broken link of the previous version. The main reason to move to a new platform is to provide more effective and collaborative experience to you all. Please feel free to experience the new platform and use it's exciting features. Contact us for any issue that you need to get clarified. We are more than happy to help you.

Random Sequence Generator & Frequency Using Arrays

Posts: 8Member
Hi all, I have one last problem for my C++ class and I can't figure this one out, please help in any way you can!!!

I need to return a random number from array n= {19, 50, 78, 161, 252}, loop it 1000 times and print the frequency of the 5 numbers obtained. Heres what I have so far.

const int n=5, ntimes=1000;
int freq[n]={0};
short int rndSeq[]={19,50,78,161,252};

printRand (freq[], rndSeq[], ntimes);

//main for loop to create random sequence
//this is what I can't seem to set up correctly!

//results

cout<<rndSeq[i]<<"occurred "<<
freq[i]<<" times."<<endl;

Sample output

19 occured 2055 times
50 occured 1986 times
78 occured 1962 times
161 occured 2079 times
252 occured 1919 times

I wish I could provide more code, but nothing I create makes an sense in the for loops that I am doing.

Thanks!

· ·

• Posts: 1Member
You can use the following code (Using rand() func):
--------------------------------------------------
--------------------------------------------------

:
: const int n=5, ntimes=1000;
: int freq[n]={0};
: short int rndSeq[]={19,50,78,161,252};
: int i,k;
:
: printRand (freq[], rndSeq[], ntimes);
:
: randomize();
:
: for(i=0;i<ntimes;i++)
: {
: k=rand()%n;
: freq[k]++;
: }
:
: //results
: for(i=0;i<n;i++)
: {
: cout<<rndSeq[i]<<"occurred "<<
: freq[i]<<" times."<<endl;
: }
:
:
: Sample output
:
: 19 occured 2055 times
: 50 occured 1986 times
: 78 occured 1962 times
: 161 occured 2079 times
: 252 occured 1919 times
:
:
:

· ·
• Posts: 60Member
: Hi all, I have one last problem for my C++ class and I can't figure
:
: I need to return a random number from array n= {19, 50, 78, 161,
: 252}, loop it 1000 times and print the frequency of the 5 numbers
: obtained. Heres what I have so far.
:
: const int n=5, ntimes=1000;
: int freq[n]={0};
: short int rndSeq[]={19,50,78,161,252};
:
: printRand (freq[], rndSeq[], ntimes);
:
: //main for loop to create random sequence
: //this is what I can't seem to set up correctly!
:
: //results
:
: cout<<rndSeq[i]<<"occurred "<<
: freq[i]<<" times."<<endl;
:
:
: Sample output
:
: 19 occured 2055 times
: 50 occured 1986 times
: 78 occured 1962 times
: 161 occured 2079 times
: 252 occured 1919 times
:
:
:
: I wish I could provide more code, but nothing I create makes an
: sense in the for loops that I am doing.
:
:
: Thanks!
:
:

#include <stdlib.h>
#include

using namespace std;

int main(){

//Creating your array and a variable to store random number
int rndSeq[]={19,50,78,161,252},rnd;

//Creating array for counting purpose
int Count[5]={0},i;

srand(1); //initializes the random number generator.

//Loop that repeat 1000 times.
for(i=0;i<1000;i++){
/*ran() returns a random number, you can use it to access
elements of the your array. For example like 'rndSeq[rnd]'*/

rnd=rand()%5;
Count[rnd]++;
}
for(i=0;i<5;i++){
cout<<rndSeq[i]<<" occured "<<Count[i]<<" times."<<endl;
}
system("PAUSE");
return 0;
}
· ·