Geeks To Go is a helpful hub, where thousands of volunteer geeks quickly serve friendly answers and support. Check out the forums and get free advice from the experts. Register now to gain access to all of our features, it's FREE and only takes one minute. Once registered and logged in, you will be able to create topics, post replies to existing threads, give reputation to your fellow members, get your own private messenger, post status updates, manage your profile and so much more.

Create Account How it Works

# Lottery Program Error

### #1 Granz00 Posted 29 October 2006 - 08:11 PM

Granz00

Member

• Member
• 226 posts
```//	Filename:	Best Picks.cpp
//	Programmer:	Josh Gager
//	Purpose:	Suggests numbers to pick for the lottery

#include "stdafx.h"
#include <time.h>
#using <mscorlib.dll>
using namespace System;

struct Lotto
{
int Pick_Five[54];		//	Stores randomly picked numbers for 1-55
int Power_Ball[41];		//	Stores Randomly picked numbers for 1-42
};

int random(int);

int main()
{
Lotto Best_Pick;
int T = 0;				//	Used for loops
int Temp = 0;			//	Used to transfer numbers to different variables
int Count_Best = 0;		//	Counts all of Pick_Five
int Count_Ball = 0;		//	Counts all of Power_Ball

//	Sets Pick_Five and Power_Ball to 0
for(T=0; T<55; T++)
{
Best_Pick.Pick_Five[T] = 0;
}
for(T=0; T<42; T++)
{
Best_Pick.Power_Ball[T] = 0;
}

srand(time(NULL));

for(T=0; T<5000000; T++)
{
Temp = random(54);
Best_Pick.Pick_Five[Temp]++;
}
//	Once this is done running, Pick_Five has a total of 5mil numbers, as it should
//	But Power_Ball increases from 0 to some random number, which it shouldn't do

Console::WriteLine();

//	Output the numbers and how many times they were picked
for(T=1; T<56; T++)
{
Console::WriteLine("  {0}:\t{1}",T.ToString(), Best_Pick.Pick_Five[T-1].ToString());
Count_Best += Best_Pick.Pick_Five[T-1];
}
for(T=0; T<42; T++)
{
Count_Ball += Best_Pick.Power_Ball[T];
}

Console::WriteLine("  {0}, {1}\n", Count_Best.ToString(), Count_Ball.ToString());
//	Added Count_Best and Count_Ball to temporarily check how many numbers were being stored

return 0;
}

//	Purpose:	Randomly generate a number from 0 to the Max
//	Recieved:	The highest number to be generated
//	Output:		A random number
random(int Limit)
{
int Temp;
Temp = rand() % (Limit + 1);
return Temp;
}```

In a nutshell, one of my variables, Power_Ball, is picking up numbers somehow. Any help?
• 0

### #2 The Hurricane Posted 01 November 2006 - 09:28 AM

The Hurricane

Member

• Member
• 11 posts
Did you
//Random Number Generator
int seed = (((unsigned)time(NULL))%100);
srand(seed);
for (counter = 1; counter <= seed; counter++)
rand();
do something like that...

for(T=0; T<5000000; T++)
{
Temp = random(54);
Best_Pick.Pick_Five[Temp]++;
}
That may have something to do with it.
what is random(54)?
• 0

### #3 Granz00 Posted 01 November 2006 - 09:35 PM

Granz00

Member

• Topic Starter
• Member
• 226 posts
The error was;

int Pick_Five[54]; // Stores randomly picked numbers for 1-55
int Power_Ball[41]; // Stores Randomly picked numbers for 1-42

Which should have been;

int Pick_Five[55];
int Power_Ball[42];

As for what random(54) is, look at the bottom of the code. I created a funtion called random().

Do you have a link to a tutorial on how this method works?

//Random Number Generator
int seed = (((unsigned)time(NULL))%100);
srand(seed);
for (counter = 1; counter <= seed; counter++)
rand();

I have never seen it done like that.
• 0

### #4 The Hurricane Posted 01 November 2006 - 11:09 PM

The Hurricane

Member

• Member
• 11 posts
Thats how we do it in school... Im sure there are simpler ways but I like the long and hard way... Its to easy to get lost on shortcuts
• 0

### Similar Topics

#### 0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users