Alguien me lo explique por favor

21/05/2007 - 21:27 por Roberto Palacios | Informe spam
Buenas, necesito generar números aleatorios entre 0 y uno y para ello uso el
siguiente código:
while (contador<duplicaciones+1)

{

Random dado = new Random();

double aleatorio=dado.NextDouble();

aleatorios.Add(aleatorio);

...

}

Luego, fuera del while, recorro el vector para ver los aleatorios (los
escribo en un txt) y resulta que los valores del vector son todos iguales,
el mismo número. Ante dicha situación pongo un breakpoint en el while, y
cualmí sorpresa que al ejecutar paso a paso todo se realiza perfecto,
distintos números aleatorios al final en el vector. Repito la opoeración sin
el breakpoint y vuelvo a tener todos los elementos repes. En el while no se
vuelve a tocar el vecto, solo esa instrucción Add, y fuera solo lo recorro
para escribirlo en el txt.

¿Alguien puede explicarme esto?



Un saludo a todos

Roberto

Preguntas similare

Leer las respuestas

#11 RFOG
22/05/2007 - 11:22 | Informe spam
Alfredo Novoa avait énoncé :
On Tue, 22 May 2007 10:57:50 +0200, RFOG
wrote:

El del .NET no lo sé, el de la RTL del Visual C++ es:

/***
*int rand() - returns a random number
*



Ah, vale. El de .NET si es de 32 bits, pensaba que serían iguales.



Y yo también. Lo he mirado en la doc y efectivamente no es el de la RTL
*Purpose:
* returns a pseudo-random number 0 through 32767.



Que cutre, es peor que el del Spectrum :-)



Pozí. Para los trabajos en los que necesito un generador de verdad (es
decir, de los buenos), utilizo uno del MIT:

http://www.math.keio.ac.jp/matumoto/emt.html

No sé si la URL funcionará, hace como 5 años que no voy por allá. En su
momento le hice pruebas de fuerza bruta (es decir, aparte del
chi-cuadrado, generar números y estudiarlos sin ordenar y ordenados)...

Saludos





Visita mi blog principal: http://rfog.blogsome.com
Y este sobre programación: http://geeks.ms/blogs/rfog
Libros, ciencia ficción y programación
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una pregunta AnteriorRespuesta Tengo una respuesta
Search Busqueda sugerida