Avatar billede lynkrevsen Nybegynder
07. marts 2003 - 05:52 Der er 8 kommentarer og
1 løsning

Random tal

Hvordan laver man et program, der genererer et tilfældigt tal i et bestemt interval?
(Brugeren skal selv have mulighed for at indtaste en ønsket øvre og nedre grænse for tallet.)
Avatar billede unsigned Nybegynder
07. marts 2003 - 07:15 #1
Avatar billede arne_v Ekspert
07. marts 2003 - 07:36 #2
srand(seed);

vil initialisere random generatoren (husk kun at kalde en gang).

rand()

vil returnere et tilfældigt tal 0..RAND_MAX

1000 + rand() % 1000

vil returnere en tilfældig int 1000-1999

1000.0 + 1000.0*rand()/((double)RAND_MAX)

vil returnere en double 1000.0-2000.0
Avatar billede jpk Nybegynder
07. marts 2003 - 08:30 #3
For en god ordens skyld skulle det nok lige nævnes at det ikke er ægte tilfældige tal, kun pseudo-tilfældige tal!
"Tilfældige" tal genereres ofte ud fra nogle parametre, som fx systemtid og vil derfor egentlig kunne forudsiges.

Hvis du vil have ægte tilfældige tal, skal du fx have en hardware random number generator.
Avatar billede arne_v Ekspert
07. marts 2003 - 09:33 #4
Fuldstændigt rigtigt.

Når srand er kaldt med en givet seed, så er de tilfældige tal
fuldstændigt determineret via noget kode.

Det er også værd at bemærke at srand/rand absolut ikke er
en specielt god random generator.

Hvis man har specielle krav, så kan jeg absolut anbefale at
finde en kendt algoritme og selv implementere den (personligt
bruger jeg meget algoritmer af L'Ecuyer).
Avatar billede anarchy Nybegynder
09. marts 2003 - 20:07 #5
Ok jeg lytter lige med her - og ikke for at bryde ind, men jeg er meget interesseret i at se hvordan en tilfældigheds generator ser ud, sådan helt matematisk og på C++ code, med kommentarer selvfølgelig.
Avatar billede arne_v Ekspert
10. marts 2003 - 14:09 #6
Du kan finde masser på nettet om dem.

Og der er skrevet tykke bøger om det.

Vil du gerne have nogle links ?
Avatar billede anarchy Nybegynder
11. marts 2003 - 19:47 #7
Gerne.
Avatar billede arne_v Ekspert
11. marts 2003 - 20:42 #8
Avatar billede arne_v Ekspert
11. marts 2003 - 20:42 #9
Avatar billede Ny bruger Nybegynder

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.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester