[ RISOLTO]Rand con seed (in C)
[ RISOLTO]Rand con seed (in C)
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!
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!
Ultima modifica di Aegis80 il lunedì 5 maggio 2008, 13:04, modificato 1 volta in totale.
- ryuujin
- Entusiasta Emergente

- Messaggi: 1032
- Iscrizione: venerdì 14 aprile 2006, 2:57
- Sesso: Maschile
- Località: Pescara
- Contatti:
Re: Rand con seed (in C)
inizializza srand passandogli come seme due byte (un intero) letto dal file /dev/urandom
r.
r.
http://blog.spicydev.it
"Chi riceve un'idea da me, ricava conoscenza senza diminuire la mia; come chi accende la sua candela con la mia, riceve luce senza lasciarmi
al buio". - Thomas Jefferson
"Chi riceve un'idea da me, ricava conoscenza senza diminuire la mia; come chi accende la sua candela con la mia, riceve luce senza lasciarmi
al buio". - Thomas Jefferson
Re: Rand con seed (in C)
da manuale (Deitel & Deitel):
Codice: Seleziona tutto
srand(time(NULL));"Tentare è il primo passo verso il fallimento" Homer J.
Re: Rand con seed (in C)
come ha detto menelicte, includei la libreria time.h, scrivi srand(time(NULL)), e poi i numeri te li crei con
così te li crea da nell'intervallo 0-9 e poi ci aggiunge 1
Codice: Seleziona tutto
n=rand()%10+1Re: Rand con seed (in C)
Grazie ragazzi ho risolto come mi avete detto voi ! 
Chi c’è in linea
Visualizzano questa sezione: 0 utenti iscritti e 4 ospiti
