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
46
Other forums
mysql timestamp manipulation
How could I use a timestamp (e.g 2009-10-30 13:20:35 ), and with php find out if it is:
from
CE 7.1 and External GIS integration
Hi All,
We want to develop an application on CE 7.1 which uses GIS features from an exter
links using header()
Hi All
I'm not sure where to ask for help on this but I hope someone can offer some. I'm at
Code clarification
Hi
In the following code what could be the "search_print()" and where it could be
Show specific day of the week
I have been racking my brain trying to get this function to work properly and it is doing so for eve
Help on query replacing the date
Hi Pals,
i want to replace the current date in a column to some value say C or D or any n
An odd assignment statement. Can someone explain this assignment to me?
What purpose is served by the bit of code between the two equal signs in the $installurl set? Is th
Need help: how to catch acess of undefined class properties
Hello. I am learning OO with PHP and have hit a problem.
Some code runs as perfectly valid code,
Combining refCursors and Summing
Given the following DDL:
CREATE TABLE FOODSALESTEST
("WEEKNBR" NUMBER,
"ST
Update Myspace status with CURL
Logging in:
Code: <?php
class Myspace
{
function login($username, $pa