How to generate a random array of integers subject to a certain constraint


Posted on 16th Feb 2014 07:03 pm by admin

I am writing a program that asks the user to enter an integer N and then generates a random array of integers of size 2^N, each of whose entries range from 1 to N+1. The final random array, however, must satisfy the following properties: the integer 1 can be stored in 1 slot, the integer 2 can only be stored in 1 slot, the integer 3 can only be stored in 2 slots, the integer 4 can only be stored in 4 slots... until all 2^N slots are filled with the integers 1, 2, ...,N+1.

I have written some code that asks the user to enter an integer N and then
generates a random array of integers of size 2^N but I cannot generate a random array subject to the constraints that I mentioned above. I have written a function, CheckArray, that returns the value of how many times a certain integer
Did you know?Explore Trending and Topic pages for more stories like this.
appears in the array but I don't know how to use it to help me get my desired random array.

Below is the code I have written so far. Note that the function CheckArray is not called in the program since I don't know how to use it yet.

#include
#include
#include
#include
#include
using namespace std;

int RandomNumber(int m);
int exponentiation(int n);
int CheckArray(int IntegerArray[], int sizeOfArray, int CType);

int main()
{ int N;
int NUMOFCELLS;

cout<< "Enter the maximum number of cell divisions you want: ";
cin>>N;
NUMOFCELLS = exponentiation(N);
cout<<"The maximum number of cells will be: ";

cout< cout<<"n";
cout<<"n";

int sample[128]; // this reserves 128 integer elements
int t;

srand(time(0));
getchar();

for(t = 0; t <= NUMOFCELLS; t++)
{ sample[t] = RandomNumber(N); }

// display the array

for(t = 0; t < NUMOFCELLS; ++t)
{ cout << sample[t] << ' ' ; }

cout<<"n";

getchar();
return 0;
}

int RandomNumber(int m)
{ // generates a random number in the specified range from 0 to (m-1)
int iSecret;
iSecret = rand() % m + 1;
return(iSecret);
}

int exponentiation(int n)
{ int t;
int numberofcells;
numberofcells = 2;
for(t=1; t < n; ++t)
{numberofcells = 2*numberofcells;}

return(numberofcells);
}

int CheckArray(int IntegerArray[], int sizeOfArray, int CType)
{
int accumulator = 0;
int temp;

for(int i = 0; i < sizeOfArray; i++)
{ temp = IntegerArray[i];
if(temp == CType)
{accumulator++;}

}

return accumulator;
}
No comments posted yet

Your Answer:

Login to answer
349 Like 46 Dislike
Previous forums Next forums
Other forums

javascript in php code causes page to display white
Hi All,

Odd one this, I've got the following code (below) which is a simple log in form. The

values not being entered into table
hi. I;ve created a form, so that when a user enters data into it, it gets added to a table in a data

printing links
Hi every1

i am connecting to a table in sql and the looping through with a while ($ var = my

Comma seperated implode & modifying returned string.
I have a PHP post form that posts up to 4 variables. I need whatever variables are passed to be comb

how can i expire the submitted page using session.
hi,
i'm new to php world.
i'm using "post" method.
when i submit it,data goes to

Tournament Brackets (Double Elimination)?
Is making a double elimination tournament style bracket system capable of being done in php?

SAP Project Module
I have seen in the SAP Project Module,plan cost and budget are not equal and even difference is sign

problem with GROUP BY and ORDER BY
i usually use this query to display the last 10 entries from a sql table:

Code: $query = &quo

do while conditions
i want to display 6 images in a 2x3 table
now what would be the correct logic to
count that th

Sending an SMS Message with ASP.NET
Often times it may be a requirement for your web application to send an SMS message. Such examples w

Sign up to write
Sign up now if you have flare of writing..
Login   |   Register
Follow Us
Indyaspeak @ Facebook Indyaspeak @ Twitter Indyaspeak @ Pinterest RSS



Play Free Quiz and Win Cash