C/C++ :: Checking Array And Generating Unique Numbers

Feb 11, 2014

Here is what I'm trying to accomplish (it is a rather simple program): A classroom of students are to grade a certain number of other exams. The exams should be distributed equally and RANDOMLY, every student should receive the same number of exams, and no student should receive their own exam to grade. The only problem I have is to generate unique random exams for each student. Right now, I have it set to where each exam is distributed the same number of times, every student gets the same number of exams to grade, and no one gets there own. However, I don't have any parameters that prevent one student from getting the same exam multiple time.

Here is an example output:

Student 1 will grade: 4 3 2 5 <- CORRECT OUTPUT (no exam appears more than once)
Student 2 will grade: 5 5 5 1 <- exam 5 appears three times
Student 3 will grade: 4 2 2 2 <- exam 2 appears three times
Student 4 will grade: 3 3 1 1 <- exams 3 and 1 each appear twice
Student 5 will grade: 1 3 4 4 <- exam 4 appears twice
(each exam appears four times and every student is assigned four exams. no one gets their own)

Here is my code (area of problem is close to the bottom):

#include <stdio.h>
#include <stdlib.h>
#include <time.h>
void create_class (int);
int main (void) {
srand(time(NULL));

[Code] ....

I tried keeping the exams for each student in the array exam and then checking each one every time I generate a number, but that didn't work.

View 8 Replies


ADVERTISEMENT

C# :: Generating Unique Random Numbers In The Range

Apr 28, 2014

We had to generate random, unique numbers in the range [1,15]. But running the program for several times showed a bug: It wouldn't always generate a new number for every repeated number. I can't figure out the problem, especially since it works half the time and I can't figure out what's making it work some times and not others.

bool flag1 = true, flag2 = true, flag3 = true;
int i, j = 1;
int[] A = new int[11];
Random rnd = new Random();
A[0] = rnd.Next(1, 15);
Console.WriteLine("1. = " + A[0]);

[Code] .....

View 14 Replies View Related

Visual C++ :: Unique Random Numbers In Array?

Feb 24, 2013

Below is my code for a program that is suppose to generate and display six unique random numbers (between 1 and 54). The issue seems to be in my check for duplicates. I know what I am doing wrong but can't seem to find a way to fix it. I think it is getting stuck in an endless loop because the way I have written it looks like it checks the first value against itself which will of course look like a duplicate everytime.

Code:
#include<iostream>
#include<ctime>
using namespace std;
//function prototype

[Code]....

View 1 Replies View Related

C :: Generating Random Numbers

Oct 19, 2014

I have a program that generates random numbers. After the random number is generated, the program asks if you want to generate another random number. However, if you generate another random number, it is always the same as the first random number. How can I fix this?

View 5 Replies View Related

C++ :: Generating Big Random Numbers In C

Feb 16, 2013

I want to generate big random numbers in C(not C++ please).By "big" I mean integers much bigger than srand(time(NULL)) and rand() functions' limit(32767).

I tried writing: (note:I am not able to see "code" tag button in this editor,so I am not using it)

//****
int randomnumber;
srand( time(NULL) );
randomnumber = (( rand() % 33 ) * ( rand() % 33 ) * ( rand() % 33) * ( rand() * 33) * (rand() % 33 )) + 1
//****

But I have doubts about it's randomness quality.Also there is another problem,the program can't know the maximum random number it should use before user input,so maximum random number may need to use much smaller maximum random number according to user input.

Is there a better algorithm to create big random numbers in C?

View 2 Replies View Related

C++ :: Generating Big Random Numbers In C

Feb 15, 2013

I want to generate big random numbers in C(not C++).By "big" I mean integers much bigger than srand(time(NULL)) and rand() functions' limit(32767).

I tried writing: (note:I am not able to see "code" tag button in this editor,so I am not using it)

//****
int randomnumber;
srand( time(NULL) );
randomnumber = (( rand() % 33 ) * ( rand() % 33 ) * ( rand() % 33) * ( rand() * 33) * (rand() % 33 )) + 1
//****

But I have doubts about it's randomness quality.Also there is another problem,the program can't know the maximum random number it should use before user input,so maximum random number may need to use much smaller maximum random number according to user input.

Is there a better algorithm to create quality big random numbers in C?

View 14 Replies View Related

C++ :: Generating Random Numbers In Parallel

Nov 8, 2013

I generate a series of random numbers in parallel (using OpenMP), but depending on what number of threads I invoke, I get a different result. From that I conclude that I have made an error somewhere!

Here is the MWE, which generates a number between 0..1 and increments a variable if the generated variable is larger than 0.5:

Code:
#include <random>
typedef std::uniform_real_distribution<double> distr_uni;
#define max_threads 1
using namespace std;

[Code] ....

When I set max_threads=1 I get 50027, but when max_threads=60 (on a machine that supports it....) I get 50440.

The sensitive RNG and its engine I have declared within the parallelized area, so it's not really clear to me where the error can possibly be.

Looking for error that is apparently there?

View 8 Replies View Related

C :: Generating Random Numbers Without Repeating?

Sep 20, 2014

Inside my loop is this

srand(time(NULL))
a=rand()%10;

So it will generate numbers again and again as the loop goes on but it always repeat some numbers. My question is, how would you generate numbers without repeating? Somebody told me that i have to use auto increment, but i really have no idea about that.

View 8 Replies View Related

C++ :: Program That Keeps Generating Two Random Numbers Between 1 And 10

May 6, 2013

#include <ctime>
#include <iostream>
#include <cstdlib>
using namespace std;
int main() {

[Code] ....

Write a program that keeps generating two random numbers between 1 and 10 and asks the user for the product of the two numbers, e.g.: "What is 4 x 6?". If the user answers correctly, the program responds with "Right!"; otherwise, it displays: Wrong! 4 x 6 = 24.

Generate as many pairs of numbers as specified and get the answers from the user for each. If at any time, both numbers are the same as last time, generate two new numbers before asking for the answer. Continue generating 2 new numbers until at least one is different from last time.

After presenting the number of pairs of numbers specified and getting the answers, display how many the user got right; e.g.: You got 4 of 5 right. Then, ask if he or she wants to play again, like so: "Do you want to play again? [y/n]". If the user answers with 'y' or 'Y', it again reads the number of questions to ask and generates that many pairs of numbers and reads the answers like before. If the answer is n or N, it quits generating numbers. If the answer is anything but y, Y, n or N, it tells the user to enter one of those letters until it is.

When the user decides to quit and has got less than 75% of all the questions right, the program displays the multiplication table (1x1 through 10x10) before terminating.

After displaying the table, randomly generate two numbers between 1 and 10, display their product and first number and ask the user to guess the second as more practice. For example, the program will generate 7 and 9 and will display 63 and 7 and the user must guess the second number (i.e.: 9). Do this 3 times. Do not repeat code. Use a loop to do this 3 times.

Use a nested for loop to display the table; a bunch of cout statements will not be acceptable. You must also use a loop for any part that calls for repetition such as generating 5 pairs of numbers.

The following is a sample interaction between the user and the program:

Enter the number of questions to ask: 5

1. What is 3 x 9? 27
Right!

2. What is 2 x 7? 14
Right!

3. What is 8 x 9? 63
Wrong! 8 x 9 = 72

4. What is 6 x 3? 21
Wrong! 6 x 3 = 18

5. What is 2 x 9? 18
Right!

You got 3 out of 5 right which is 60%.

Play agian? [y/n] n

View 10 Replies View Related

C++ :: Generating Sums Of Random Numbers

Sep 19, 2014

I'm trying to create a code that generates random numbers and spits out a sum average and lowest and highest number. I am stuck on the sum however and once I get that I think the average will fall into place. Here's what I have.

#include <iostream>
#include <iomanip>
#include <ctime>
#include <math.h>
using namespace std;

[Code] ....

I've noticed that it's almost always off by 1 or 3 for whatever reason

View 9 Replies View Related

C++ :: Generating All Possible Numbers In Base V Of P Digits

Apr 23, 2012

I'm sure this is pretty simple, but any way to do this. Essentially if I have an array with P collumns and V^P rows, how can I fill in all the combinations, that is, essentially, all possible numbers in base V of P digits.

For example, for P=3 and V=2

000
001
010
011
100
101
110
111

Keep in mind that this is an 2 dimensional array, not an array of ints.

For P=4 and V=3.

0000
0001
0002
0010
0011
0012
....

Having this array generated, the rest of work for what I'm trying to develop is trivial

This is a code I've written that should do the trick, but for some reason it gives this error on compiling:

"main.cpp:65: error: invalid types `double[3][9][double]' for array subscript"

Code:
for(i=0;i<P;i++) {
for(j=0;j<pow(V,i);j++) {
for(k=0;k<V;k++) {
for(l=0;l<pow(V,(P-i-1));l++) {
a[i][(j*V*pow(V,P-i-1) + l + k*pow(V,P-i-1))];
}
}
}
}

View 6 Replies View Related

Visual C++ :: Generating Lottery Numbers In Specified Range

Dec 4, 2012

Write a function named generateLotteryNumbers. The function is passed an int array of size 5. The function should generate 5 different lottery numbers in the range 1 to 50 inclusive and place the numbers in the array. The declaration is as follows:

void generateLotteryNumbers (int lotteryNumbers []);

Note that no data is passed in to the function. The array is used to return the function results. Thus the parameter is an OUT parameter. Do not display the result. Return the result.

Do not seed the random number generator inside the function. If you seed the random number generator inside the function and the function is called many times in the same second, your function will return the same results each time it is called.

I know how to generate the numbers in the specified range but I do not know how to test for duplicates. Here is the code I have so far:

Code:
//This program will test the "generateLotteryNumbers" function
#include <iostream>
#include <cstdlib>
#include <ctime>
using namespace std;
void generateLotteryNumbers (int lotteryNumbers[]);

[Code] ....

When I try to compile this, my compiler tells me that lines 41 and 46 require an array or pointer type.

View 8 Replies View Related

C++ :: Seed Unique Random Numbers?

Jan 13, 2014

Is there a way of using a rand-function in a way that it seeds the same random numbers every time the function is used? I'm looking fomr something like:

int * randfunction(hash maybe){
//Fancy code...
return // quasi random numbers, same each time function is used.
}

I'm testing an algorithm where I need a set of unique random numbers. So far I've only used hard coded numbers on small scale test runs. I'd like to do the up scaling, but haven't really figured out how to seed random numbers like I need to.

View 4 Replies View Related

C# :: Replacing Names With Unique Numbers

Oct 27, 2014

I have a dataset which is a coauthorship network (a .txt file).I want to replace all the names of the authors with a unique number(no matter what the number is but it's important these numbers should be unique).

I've opened the dataset in excel then copy the author's names to another excel file,then I want to replace the authors names with their row numbers. what should i do?

View 3 Replies View Related

C++ :: Timer Function - Generating Seed For Random Numbers

Nov 14, 2014

for (int i=0; i<15; i++)
{
nx[i]=rand()%8+1;
printf("%d",nx[i]);
}

I want to the function of timer "srand(time(NULL))" to generate seed for random numbers. By running this for loop,I think I should expect random numbers ranging from 1 to 8.However, I get some wried numbers from the console window like 88,044,077,066,088,088,066,022,044,044,088,022,033,66814990522,-156026525933,1606416712. One more thing,I think I am going to have 15 outputs, but why I get 16 instead every time.

View 1 Replies View Related

C/C++ :: Reading Lines Of Numbers / Characters While Checking For EOF?

Aug 30, 2014

Simple program to convert files to XML files. However I am trying to narrow down why my code is not working. I am reading a line that looks like "2001 Joe Dirt Los Angeles", then the next few lines are followed by text and the the fifth line looks like "---End of Description---".

So here is the file

2001 Joe Dirt Los Angeles
Home is where you make it
Best movie ever(but not really)
But seriously
---End of Description---

Here is example code to test the process

string line;
while(dataFile >> line) {
getline(dataFile, line);
cout << line << endl;
}

My returning output is

[space]Joe Dirt Los Angeles
[space]Home is where you make it
[space]Best movie ever(but not really)
[space]But seriously

My test code is skipping the date on the first line but replacing it with a space. Then it is skipping my fifth line which reads "---End of Description---". Now if I take the code out of the while loop and hard code in five lines of output (x5 getline(dataFile,line); cout << line << endl;) then my code works as expected. I get all of the information. Date and the fifth line.

It looks like when I am testing for the EOF it is also taking in the numeric value at the beginning of the first line. However, that does not explain why it is dropping that fifth line.

View 3 Replies View Related

C :: Generating Random And Different Number In Array

Nov 30, 2014

How to generate random and different number in a range. This is my code:

Code:
#include <stdio.h>#define n 8
#define m 7
int main() {
int i,j,a[n][n];
printf("Relaxed Latin Square (%d,%d)

[Code] .....

When I executed that code, the number is random but not different.

View 3 Replies View Related

C++ :: Find All Unique Triplet In Given Array With Sum Zero

Feb 26, 2015

I got all unique triplet from below code but I want to reduce its time complexity. It consist three for loop. So my question is, Is it possible to do in minimum loop that it decrease its time complexity. code will be execute in minimum time.

#include <cstdlib>
#include<iostream>
using namespace std;
void Triplet(int[], int, int);
void Triplet(int array[], int n, int sum) {

[Code] .....

View 7 Replies View Related

C :: How To Count Total Number Of Unique Elements In Array

Mar 19, 2013

How can i count the total no of unique elements in an array? Like I have an array.

Code:
int array[]= { 2,1,4,0,3,3,0,0,1,2,1,1}
// As it has 0,1,2,3,4 as unique values so total no of unique values are=5
int unique =5;

View 4 Replies View Related

C Sharp :: How To Loop Through Array List For Unique Values

Aug 19, 2012

I am grabbing data from three entities and want to grab a field value in each of the entites and place it in an arraylist. What I would like to do is loop through the arraylist for all the values and do something for each value only once. If the value in the array list is repeated, I want to not do anything for it and continue till the end. Basically, I loop through all the values do something for each value and skip over the repeated value if I already did something.

View 1 Replies View Related

Visual C++ :: Array Of CString Size Checking

Apr 4, 2014

Code:
//Class header
CString m_cstrArry[5];

Code:
//Class source
void Ctry4Dlg::OnInitDialog() {
m_cstrArry[0] = _T("TEXT 0 |");
m_cstrArry[1] = _T("TEXT 1 |");
m_cstrArry[2] = _T("TEXT 2 |");

[Code] .....

View 8 Replies View Related

C++ :: Upon Checking Emptiness Of Array - Getting Unexpected Result

May 9, 2015

node = pool.at(0) is executed even though pool is empty,

I even tried pool.size() == 0, that line is still executed. What is the reason, I wonder?

Code:
NodePoolNode* NodePool::acquireNode(int x, int y, long t) {
std::stringstream key;
key << x << ":" << y << ":" << t;
NodePoolNode* node = usedNodes[key.str().c_str()];
if (node == NULL) {

[Code] ....

View 3 Replies View Related

C++ :: Find Prime Numbers Between Given Pair Of Numbers And Store Them Into Array?

Apr 18, 2014

Find all the prime numbers between a given pair of numbers. Numbers should be read in from an input file called "numbers.txt" and find all the prime numbers between them. Store the prime numbers in an array, then sort the array from greatest to least. Display the array before and after the sort.

I'm stuck on how to put the prime numbers into an array.

The input file has the numbers 1 & 100.

Here's what I have so far.

#include <iostream>
#include <fstream>
using namespace std;
int main() {
ifstream fin;
fin.open("numbers.txt");

[Code] .....

View 1 Replies View Related

C :: Find Duplicate Numbers And Numbers Found Once In Array

Dec 7, 2013

Question: How to find a duplicate numbers and numbers found once in array.

View 7 Replies View Related

C/C++ :: Generate Combinations Of Numbers From 1 To 25 In 15 Numbers Array?

Sep 21, 2014

The code below will generate combinations of numbers from 1 to 25 in an 15 numbers array. The only filter I've applied is that the sum of all the numbers in the vectors divided by 15 needs to be between 13 and 14.
I would like to count how many consecutive numbers there are in one combination, so that later i can apply another filter.. for example:

1 3 4 5 6 8 10 13 14 16 17 18 19 20 25

3 + 4 = 1
4 + 5 = 1
5 + 6 = 1
13 + 14 = 1
16 + 17 = 1
17 + 18 = 1
18 + 19 = 1
19 + 20 = 1
_____________

Count = 8, in this case..

I think it's not very difficult to do, but i just can't see how to do it.

#include <iostream>
#include <vector>
#include <numeric>

[Code]....

View 3 Replies View Related

C++ :: Program For Generating Subsets

Mar 9, 2013

I have this program for generating subsets, I need to run it with input n=23. It has been running for the past 5 hours, is it normal???

Code:
/*generate subsets */
int subsets(vector < bool > sub, int i)
{

if (i > n) {
return 0;

[Code] .....

View 2 Replies View Related







Copyrights 2005-15 www.BigResource.com, All rights reserved