Pagina 1 di 1

[ RISOLTO]Rand con seed (in C)

Inviato: mercoledì 30 aprile 2008, 14:19
da Aegis80
Ragazzi sto cercando di creare dei numeri da 1 a 10 e per questo uso la funzione rand, più precisamente il codice usato è:

a = (int) (r * (rand()/(RAND_MAX + 1.0)));

solo che vorrei che il seed fosse casuale, o meglio vorrei che i numeri generati da 1 a 10 fossero effettivamente casuali e non pseudocasuali.Nel mio codice devo generare una matrice e riempirla a caso ma in realtà questo non succede dato che il pattern tende a ripetersi.. Sapete come potrei fare? Grazie!

Re: Rand con seed (in C)

Inviato: mercoledì 30 aprile 2008, 14:26
da ryuujin
inizializza srand passandogli come seme due byte (un intero) letto dal file /dev/urandom

r.

Re: Rand con seed (in C)

Inviato: giovedì 1 maggio 2008, 14:24
da menelicte
da manuale (Deitel & Deitel):

Codice: Seleziona tutto

srand(time(NULL));

Re: Rand con seed (in C)

Inviato: venerdì 2 maggio 2008, 19:03
da moretto11
come ha detto menelicte, includei la libreria time.h, scrivi srand(time(NULL)), e poi i numeri te li crei con

Codice: Seleziona tutto

n=rand()%10+1
così te li crea da nell'intervallo 0-9 e poi ci aggiunge 1

Re: Rand con seed (in C)

Inviato: lunedì 5 maggio 2008, 13:03
da Aegis80
Grazie ragazzi ho risolto come mi avete detto voi ! ;)