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
Printable View
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.
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.