|
|
|
![]() |
|
Strumenti |
![]() |
#1 |
Senior Member
Iscritto dal: Jul 2005
Città: San Marino
Messaggi: 309
|
[C] Numeri ancora più random
Sto facendo un programma dove mi occorre generare numeri pseudo-causali in tempi molto brevi (a distanza di massimo 2-3 secondi la generazione di uno da un'altro).
Il seme in srand viene iniettato dalla funzione time, la quale però in questo caso non usufruisce di molto la generazione di numeri pseudo-causali (nel senso che se il primo numero generato è 34, il secondo sta sui 40, il terzo sui 50 e così via...). Proprio perchè la generazione del numero successivo avviene quasi subito dopo quella del precedente. Come posso risolvere questo? ![]()
__________________
![]() ![]() |
![]() |
![]() |
![]() |
#2 | |
Senior Member
Iscritto dal: Nov 2005
Città: TO
Messaggi: 5206
|
Quote:
__________________
Andrea, SCJP 5 (91%) - SCWCD 5 (94%) |
|
![]() |
![]() |
![]() |
#3 | ||
Senior Member
Iscritto dal: Jul 2005
Città: San Marino
Messaggi: 309
|
Quote:
Faccio magari un'esempio: Quote:
__________________
![]() ![]() |
||
![]() |
![]() |
![]() |
#4 | |
Senior Member
Iscritto dal: Nov 2005
Città: TO
Messaggi: 5206
|
Quote:
Comunque, in generale, l'inizializzazione del seme va fatta 1 sola volta all'inizio e non prima di generare ogni numero. Prova il seguente codice: Codice:
#include <stdio.h> #include <stdlib.h> #include <time.h> int main(void) { srand ((unsigned int) time (NULL)); while (1) { getchar (); printf ("%d\n", rand () % 101); } return 0; } ![]()
__________________
Andrea, SCJP 5 (91%) - SCWCD 5 (94%) |
|
![]() |
![]() |
![]() |
#5 | |
Senior Member
Iscritto dal: Jul 2005
Città: San Marino
Messaggi: 309
|
Quote:
Grazie mille, pensavo che bisognava farlo ogni volta che si richiamava la funzione random ![]() La funzione random è una macro che ho inserito in stdlib
__________________
![]() ![]() |
|
![]() |
![]() |
![]() |
#6 | |
Senior Member
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
|
Quote:
|
|
![]() |
![]() |
![]() |
#7 | |
Senior Member
Iscritto dal: Jul 2005
Città: San Marino
Messaggi: 309
|
Quote:
![]()
__________________
![]() ![]() |
|
![]() |
![]() |
![]() |
Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 06:27.