![]() |
| | #1 |
| Registered User Join Date: Oct 2001
Posts: 75
| Randomize?????? 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 |
| Stealth is offline |
| | #2 |
| Registered User Join Date: Oct 2001
Posts: 8
| You can use the rand() function in cstdlib to get a random number. It is used like this: 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;
}
|
| LlamaDolittle is offline |
| | #3 |
| Registered User Join Date: Aug 2001
Posts: 109
| There is more information of randomizing in the FAQ.
__________________ Making error is human, but for messing things thoroughly it takes a computer |
| kitten is offline |
| | #4 |
| Registered User Join Date: Oct 2001
Posts: 75
| ok ok thanks for the help guys cheers stealth |
| Stealth is offline |
| | #5 |
| Guest
Posts: n/a
| 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? |
| | #6 |
| Registered User Join Date: Oct 2001
Posts: 3
| 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() */ |
| HelloWorld is offline |
| | #7 |
| Registered User Join Date: Nov 2001
Posts: 3
| 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? |
| Rick is offline |
| | #8 |
| Registered User Join Date: Oct 2001
Posts: 8
| 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. |
| LlamaDolittle is offline |
| Thread Tools | |
| Display Modes | |
|
Similar Threads | ||||
| Thread | Thread Starter | Forum | Replies | Last Post |
| Wiki FAQ | dwks | General Discussions | 192 | 04-29-2008 01:17 PM |
| Help with FAQ | JoshG | Game Programming | 19 | 10-29-2002 07:31 PM |
| FAQ Check/Lock | RoD | A Brief History of Cprogramming.com | 2 | 10-15-2002 11:21 AM |