CODE
#include <ctime>
#include <cmath>
#inlcude <iostream>
void main()
{
//maak seed aan...
srand(time(0));
cout<< "willekeurig getal="<<rand()<<endl;
}
Dit geeft een willekeurig getal aan in een bereik van 0 tot een maximale waarde. Deze maximale waarde is compiler specifiek, en kan op worden geroepen met 'RAND_MAX'
Als je dus je random getal een bereik wil geven tussen de 0 en de 1 doe je het volgende:
CODE
double random= rand()/RAND_MAX;
Je kunt nu met de volgende formule de bounds aangeven, aangenomen dat je je ondergrens minBound en je bovengrens maxBound noemt.
CODE
double random= rand()/RAND_MAX;
long result= ceil( random*maxBound)+minBound;
Nu geldt: minBound<=result<=maxBound
Let wel op dat dit omhoog afrondt, als je dit nauwkeuriger wil doen zul je even een afrond functie moeten schrijven (dat kan makkelijk met modulo, en floor() (floor rondt omlaag af )). 8)