[ mladendenic @ 13.08.2006. 16:53 ] @
Na koju foru radi?
Znam da je u opsegu od 0 do 32767 ali ne znam kako to slucajno izabere brojeve?
Dali postoji nekakav niz tih brojeva? Jeste li ikad razmisljali o tome?
[ Tiristor @ 13.08.2006. 19:42 ] @
Pa jel` ti nije dovoljno sto bira sama brojeve. Sigurno nema neki unapred odredjen niz, a nisam ni primetio da ima neki plan za biranje brojeva iako ja mislim da mora imati neko utvrdjeno pravilo.
[ minas.tirrith @ 14.08.2006. 00:38 ] @
Da, istina. Postoji pravilo.
Hoces preslikat niz iz [a,b] u [c,d]. To se radi ovako.

y = (x - a) / (b – a + 1) * (d – c + 1) + c

E sada pitanje jesi li ti na to mislio?
[ milanche @ 14.08.2006. 04:54 ] @
U osnovi funkcije rand( ) je neki pseudo-slucajni generator (pogledaj na web-u pod 'pseudo-random generators'),
koji generise odredjenu sekvencu brojeva koja ima veliku periodu ponavljanja, toliko veliku da je za veliku vecinu realnih
slucajeva prakticno slucajna. Da stvar bude bolja, izborom pocetne vrednosti ('seed') moze se odrediti odakle ce
poceti ciklus, cime se faktor slucajnosti jos vise povecava.

Inace, hardverski pseudo-slucajni generatori se koriste od mnogo pre nego sto su nastali kompjuteri u danasnjem
smislu te reci. U telekomunikacijama jedna od klasicnih primena je generisanje tzv. belog suma (white noise).
[ chupcko @ 16.08.2006. 22:44 ] @
Mozda ovo pomogne :)

Code:

       POSIX  1003.1-2003  gives the following example of an implementation of
       rand() and srand(), possibly useful when one needs the same sequence on
       two different machines.

           static unsigned long next = 1;

           /* RAND_MAX assumed to be 32767 */
           int myrand(void) {
               next = next * 1103515245 + 12345;
               return((unsigned)(next/65536) % 32768);
           }

           void mysrand(unsigned seed) {
               next = seed;
           }