Hello
I was wondering
how do I randomize a value, I need this to decide random outcomes (obviously) thanks for any help simple code will do me
cheers
stealth
Hello
I was wondering
how do I randomize a value, I need this to decide random outcomes (obviously) thanks for any help simple code will do me
cheers
stealth
You can use the rand() function in cstdlib to get a random number.
It is used like this:
Before calling rand(), you should call srand() to seed the random number generator. You must always use a different number when calling srand(), the current time for instance, or else rand() will always give you the same numbers.Code:int x = rand() % 5; //x would be between 0 and 4
So you might want to do something like this:
Code:#include <cstdlib> #include <ctime> #include <iostream> using namespace std; int RandInt(int a,int b) { return a + rand() % (b - a + 1); } void main() { //Seed rand() with current time srand(unsigned(time(NULL))); //x will be between 2 and 10, inclusive int x = RandInt(2,10); cout<<x; }
There is more information of randomizing in the FAQ.
Making error is human, but for messing things thoroughly it takes a computer
ok thanks for the help guys
cheers
stealth
I've tried doing random numbers using that same method and wanted to do random numbers between 1 and 100.
here are my results
2, 9,12,19,24, ..... etc, etc you get the idea I guess. There always increasing. Not really random. Is there anyway to get around this?
Yea there is you could do this
random{int n ) {
static bool seeded = false; /* used to ensure seeding done just one */
int seed;
if(!seeded) {
cout <<"Enter a value to randomize a value" << endl;
cin>> seed;
cin.ignore(80,'\n');
srand(seed);
seeded = true;
}
* then you call your rand() */
cout <<"Enter a value to randomize a value" << endl;
cin>> seed;
cin.ignore(80,'\n');
srand(seed);
seeded = true;
don't work in a visual C++ Dialog window or what ever you want ever there called. And I don't really want to have to enter a value every time I run it. Is there anyother way to do what I want?
If you want different seeds everytime you could use the current time. So you would do something like this:
#include <time.h>
srand(unsigned(time(NULL)));
Then you will get different numbers from rand() every time without having to specify a seed value.