Provided by: manpages-pl-dev_20060617-1_all bug

NAZWA

       rand, srand - generator liczb losowych.

SKŁADNIA

       #include <stdlib.h>

       int rand(void);

       void srand(unsigned int seed);

OPIS

       Funkcja  rand() zwraca pseudolosową liczbę całkowitą z zakresu pomiędzy
       0 a RAND_MAX.

       Funkcja srand() ustawia  swój  argument  jako  wartość  początkową  dla
       nowego  ciągu pseudolosowych liczb całkowitych zwracanych przez rand().
       Ciągi te są powtarzalne poprzez wywołanie srand() z tą  samą  wartością
       początkową.

       Jeśli  nie  podano  wartości  początkowej, funkcja rand() automatycznie
       ustawia tę wartość na 1.

WARTOŚĆ ZWRACANA

       Funkcja rand() zwraca wartość z zakresu pomiędzy 0 a RAND_MAX.  Funkcja
       srand() nie zwraca żadnej wartości.

UWAGI

       Wersje rand() i srand() w bibliotece C Linuksa korzystają z tego samego
       generatora liczb losowych, co random() i srandom(), więc mniej znaczące
       bity  powinny być tak samo losowe jak bity bardziej znaczące. Jednakże,
       w starszych implementacjach rand()  bity  mniej  znaczące  są  znacznie
       mniej losowe niż bity bardziej znaczące.

       W  Numerical  Recipes in C: The Art of Scientific Computing (William H.
       Press, Brian P. Flannery, Saul A. Teukolsky, William T. Vetterling; New
       York: Cambridge University Press, 1992 (wyd. 2, str. 277)), umieszczono
       następujące komentarze:
              "Jeśli chcesz  wygenerować  liczbę  losową  spomiędzy  1  a  10,
              powinieneś  zawsze  robić  to  korzystając z bardziej znaczących
              bitów, jak w

                     j=1+(int) (10.0*rand()/(RAND_MAX+1.0));

              a nigdy z czegoś podobnego do

                     j=1+(rand() % 10);

              (co korzysta z mniej znaczących bitów)."

       Generacja liczb losowych jest złożonym zagadnieniem. Książka  Numerical
       Recipes  in  C  (patrz  referencje  powyżej) zawiera doskonałą dyskusję
       praktycznych wyników generacji liczb losowych  w  rozdziale  7  (Random
       Numbers).

       Bardziej  teoretyczną  dyskusję,  która  również  szeroko  omawia wiele
       praktycznych wyników można  znaleźć  w  rozdziale  3  (Random  Numbers)
       Donalda E. Knutha The Art of Computer Programming, tom 2 (Seminumerical
       Algorithms), wyd. 2; Reading, Massachusetts: Addison-Wesley  Publishing
       Company, 1981.

ZGODNE Z

       SVID 3, BSD 4.3, ISO 9899

ZOBACZ TAKŻE

       random(3), srandom(3), initstate(3), setstate(3)