/ Forside / Teknologi / Udvikling / C/C++ / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
C/C++
#NavnPoint
BertelBra.. 2425
pmbruun 695
Master_of.. 501
jdjespers.. 500
kyllekylle 500
Bech_bb 500
scootergr.. 300
gibson 300
molokyle 287
10  strarup 270
random vha standard libery
Fra : Thomas


Dato : 20-11-02 00:32

Jeg skal generere nogle simple tilfældige tal. Hvordan gør jeg det nemmest
uden at det bliver for kompliceret?



 
 
Thomas (20-11-2002)
Kommentar
Fra : Thomas


Dato : 20-11-02 00:35


"Thomas" <asd@asd.de> wrote in message
news:arehld$1ouh$1@news.cybercity.dk...
> Jeg skal generere nogle simple tilfældige tal. Hvordan gør jeg det nemmest
> uden at det bliver for kompliceret?
>
>



Igor V. Rafienko (20-11-2002)
Kommentar
Fra : Igor V. Rafienko


Dato : 20-11-02 16:44

[ asd@asd.de ]

> Jeg skal generere nogle simple tilfældige tal. Hvordan gør jeg det
> nemmest uden at det bliver for kompliceret?


<URL:http://www.eskimo.com/~scs/C-faq/s13.html>





ivr
--
<peder> igorr: tcl ja... det er fra de dypeste avgrunnene i helvete det...
<peder> php er bare fra foajeen
            -- pederst på irc

John Doe (28-11-2002)
Kommentar
Fra : John Doe


Dato : 28-11-02 22:01

"Thomas" <asd@asd.de> wrote in message
news:arehld$1ouh$1@news.cybercity.dk...
> Jeg skal generere nogle simple tilfældige tal. Hvordan gør jeg det nemmest
> uden at det bliver for kompliceret?
>
>


Sådan her Thomas:

=======================================
#include <iostream.h> // Streaming relateret stuff
#include <conio.h> // For brug af getch()
#include <stdlib.h> // For brug af srand() samt rand()
#include <time.h> // For brug af time()

#define ESC 0x1b

// "Seed" tilfældige tal generatoren (sådan da, - men i
// det mindste med forskellig start fra kørsel til kørsel
inline void Randomize() { srand((unsigned)time(NULL)); }

// Generer et tilfældigt decimaltal i intervallet [0,1[
inline double rnd() { return rand() / (double)(RAND_MAX + 1); }

// Generer et tilfældigt heltal i intervallet [0, n-1]
inline int Random(int n) { return (int)(rnd() * n); }


// Test skidtet
int main(int argc, char* argv[])
{
int i;

Randomize();

for (i = 0; i < 5; i++)
cout << Random(10) << ", " << rnd() << endl;

cout << endl;

while
(getch() != ESC);

return 0;
}
=======================================

Udskrift fra en programkørsel:
0, 0.056427
2, 0.31131
8, 0.417786
5, 0.362701
6, 0.828766

Tre små functioner, nemmere kan det da næsten ikke blive

RAND_MAX er defineret i <stdlib.h> som:
#define RAND_MAX 0x7fff

Programmet er udført i Microsoft Visual C++ 6.0


Venlig hilsen
Alias John Doe



Søg
Reklame
Statistik
Spørgsmål : 177491
Tips : 31966
Nyheder : 719565
Indlæg : 6408458
Brugere : 218886

Månedens bedste
Årets bedste
Sidste års bedste