Ciao
l'altro giorno ho avuto dei grossi problemi a creare un generatore di numeri casuali in C, tanto ke ho deciso di rinunciarci e di farlo in java (e l'ho già fatto)
il mio problema è semplice semplice: come si fa a generare un numero casuale in C?
a tal proposito guardando all'interno della documentazione delle librerie standard e ho trovato la seguente funzione:
#include <stdlib.h>
int rand (void);
"La funzione rand() genera una sequenza di numeri pseudo-casuali. Ad ogni chiamata, rand() restituisce un intero compreso tra 0 e RAND_MAX"
(cito testualmente dal libro)
.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-
#include <stdlib.h>
void srand(unsigned seed);
"La funzione srand() definisce un punto iniziale per la sequenza generata da rand(), la funzione che restituisce numeri pseudo-casuali" (anche qua cito testualmente)
guardando nell'header, RAND_MAX vale 2 miliardi e qualcosa (2^31) e fin qui tutto bene.
quando però uso questa funzione mi genera sempre la stessa sequenza di numeri. in java invece la Math.random() restituisce sempre un numero diverso. Ho provato ad aggirare il problema creandomi un generatore di numeri casuali e funzionerebbe bene ma va inizalizzato con un numero casuale e il problema torna come da principio.
Sono sicuro ke mi sto perdendo un bicchier d'acqua, ma son so propiro come andarci fuori. Voi come fareste?
Grazie mille
ciao!