So what you do is called "seeding the random number generator". That's basically just telling it "okay, start from here". If each time you tell it to start from a different number, then the sequence will be different each time you run your program.
So how do you get a number that's going to be unique each time you run your program? There are various possibilities, but the most obvious is the date and time. Obviously, next time you run your program, it will be a different time of day, or a different day, or both.
So if you use srand(time()) to seed the random number generator with the current time, you'll get a different sequence of "random" numbers each time you run your program.
RPGLE Sample Code to Generate Random Number
h option(*nodebugio) dftactgrp(*no) bnddir('QC2LE') * Prototype to C "rand" function d Rand PR 10I 0 ExtProc('rand') * Prototype to C "srand" function d SRand PR ExtProc('srand') d iSeed 10U 0 VALUE * Prototype to C "clock" function d GetTime PR 10I 0 ExtProc('clock') * Global variables d RandomNumber S 10I 0 d ClockTicks S 10I 0 d SeedValue S 10U 0 /free ClockTicks = GetTime; SeedValue = ClockTicks; SRand(SeedValue); RandomNumber = Rand(); dsply RandomNumber; *inlr = *on; /end-free
No comments:
Post a Comment
NO JUNK, Please try to keep this clean and related to the topic at hand.
Comments are for users to ask questions, collaborate or improve on existing.