05. juli 2005 - 14:52Der er
11 kommentarer og 2 løsninger
Random metode med 'min' og 'max' værdier
Hejsa, ved godt at dette spørgsmål har været stillet en del gange før herinde, men tillader mig at spørge igen :-)
Skal lave en lille funktion
int Random(int low, int high);
Der er ingen problemer i at finde et tilfældigt tal udfra max værdien. "rand() % max", men mit problem opstår når jeg skal tage højde for 'min' værdien kan ikke lige gennemskue hvordan jeg laver det simplest
sikker på den holder ? f.eks. high = 10 & low = 5 her vil (high - low) = 5 hvilket gør at der kommer til at stå rand() % 10 hvilket jo ikke garantere at det er over min. Kan så også godt ske at det blir læst som rand() % 5 og derefter blir low langt til
hmm, selvfølgelig rigtig, men er jeg ikke nødtil at lægge 1 til high, hvis jeg har min = 5 og high = 10 ellers er det jo ikke være muligt at få 10 som resultat.
Takker arne_v det må være rand() % (high - low + 1) + low jeg skal bruge for at få alle tallene incl. ved også godt at det ikke er verdens bedste random funktion, men den opgave jeg skal løse kræver at jeg benytter mig af rand()
soreno og arne_v smider i ikke lige et svar så jeg kan få lukket spørgsmålet igen.
godt råd (er iøvrigt omtalt i artiklen jeg linker til)
det er dog nok stadig:
min + (max - min + 1) * rand() / (RAND_MAX + 1)
spørger skal bruge
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.