Categories:
.NET (357)
C (330)
C++ (183)
CSS (84)
DBA (2)
General (7)
HTML (4)
Java (574)
JavaScript (106)
JSP (66)
Oracle (114)
Perl (46)
Perl (1)
PHP (1)
PL/SQL (1)
RSS (51)
Software QA (13)
SQL Server (1)
Windows (1)
XHTML (173)
Other Resources:
Each time I run my program, I get the same sequence of numbers back from rand
Each time I run my program, I get the same sequence of numbers back from rand
✍: Guest
It's a characteristic of most pseudo-random number generators (and a defined property of the C library rand) that they always start with the same number and go through the same sequence. (Among other things, a bit of predictability can make debugging much easier.) When you don't want this predictability, you can call srand to seed the pseudo-random number generator with a truly random (or at least variable) initial value. Popular seed values are the time of day, or a process ID number, or the elapsed time before the user presses a key, or some combination of these. Here's an example call, using the time of day as a seed:
#include <stdlib.h>
#include <time.h>
srand((unsigned int)time((time_t *)NULL));
(There remain several difficulties: the time_t returned by time might be a floating-point type, hence not portably convertible to unsigned int without the possibility of overflow. Furthermore, if time of day is available with 1-second resolution, using it by itself means that successive runs of the program can easily get the same seed. Subsecond resolution, of time-of-day or keystroke presses, is hard to achieve portably;
Note also that it's rarely useful to call srand more than once during a run of a program; in particular, don't try calling srand before each call to rand, in an attempt to get ``really random'' numbers.
2015-07-29, 1289👍, 0💬
Popular Posts:
In which event are the controls fully loaded ? Page_load event guarantees that all controls are full...
How Do I Run JUnit Tests from Command Window? To run JUnit tests from a command window, you need to ...
How To Run "mysql" Commands from a Batch File? - MySQL FAQs - Command-Line End User Interface mysql ...
How many bits are used to represent Unicode, ASCII, UTF-16, and UTF-8 characters? Unicode requires 1...
How do you open an SSH connection to a remote box? ????