C/Visual C - RAnd()

 
Vista:

RAnd()

Publicado por maria (2 intervenciones) el 19/04/2006 23:50:16
Necesito un generador de números aleatorios que sigan una distribución determinada. He encontrado el algoritmo para esto, pero necesito usar una función que me genere números reales entre 0 y 1. La única función que he encontrado en c++ es rand(), sé como generar números de 0 a 1 -> rand()%1 pero estos números son enteros, con lo que genera solo el 0. Necesitaria que me los generara reales, 0,234, 0,567.......Es esto posible??

Muchas gracias de antemano.

Maria Dolores
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:RAnd()

Publicado por fernando.gomez (1603 intervenciones) el 20/04/2006 00:34:35
rand() te genera números aleatorios entre 0 y 1, los cuáles son números reales (por cierto, que los enteros también son reales, al ser un subconjunto de éstos).

Sólo tendrías que multiplicarlo por algún múltiplo de 10... por ejemplo, rand te puede generar el número 0.192837192. Entonces, si lo multiplicas por 1000, tendrías 192.837192. Etcétera.

Para la multiplicación, puedes hacer algo como:

double numero = rand() * (10 * (int)rand());

Saludos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar