Variable Aléatoire [Résolu]

jschutz 2 Messages postés mardi 27 septembre 2005Date d'inscription 3 janvier 2007 Dernière intervention - 3 janv. 2007 à 08:35 - Dernière réponse : cs_Bidou 5507 Messages postés dimanche 4 août 2002Date d'inscription 20 juin 2013 Dernière intervention
- 3 janv. 2007 à 12:36
Bonjour,

Je souhaiterais générer une liste de variables aléatoires (V.A.) comprises entre ]0, 1[. Cependant, lors de la génération, les huit premières V.A. ont une même valeur, les huit V.A. suivantes ont une même valeur (mais différentes des huit premières)<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /??>






 






Voici mon code :







   
public
class Divers


{








       
// Génération d'une variable aléatoire









       
public
static
double Valea()








     

{








           
double dValea = 0;








           
Thread.Sleep(1);








           
Random autoRand = newRandom();








            dValea = autoRand.NextDouble();








           
while ((dValea 0) || (dValea 1))








            {








                dValea = autoRand.NextDouble();








            }








           
return dValea;








    

}








    }







 







   
public
class
Simulation









    {








       
public
static
void GenValea(int Nb)








        {








           
for(int i=1;i<=Nb;i++)








           

{








               
double dValea = Divers.Valea();          








               
Console.WriteLine("> "+dValea);








            }








        }








    }








 







Pour le code, je me suis basé sur l’exemple de microsoft (ms-help://MS.VSCC.v80/MS.MSDN.v80/MS.NETDEVFX.v20.fr/cpref2/html/T_System_Random.htm) mais ce dernier ne fonctionne pas chez moi (problème cité ci-dessus).







La seule solution que j’ai trouvée consiste à remplacer ‘Thread.Sleep(1);’ par ‘Thread.Sleep(15);’. Cependant, le temps d’éxécution augmente..
Comment pourrais-je procéder pour générer mes V.A. sans devoir imposer une pause de 15 millisec. entre chaque V.A. générée ? Est-ce un problème de configuration ?






 







D’avance merci.







Jérémie








 
Afficher la suite 

Votre réponse

2 réponses

MorpionMx 3489 Messages postés lundi 16 octobre 2000Date d'inscription 30 octobre 2008 Dernière intervention - 3 janv. 2007 à 09:04
+3
Utile
Salut,

Sors l'instanciation du Random de la méthode Valea(), et ce sera bon.
Tu peux meme enlever ton Thread.Sleep();

Mx
MVP C# 
Cette réponse vous a-t-elle aidé ?  
Commenter la réponse de MorpionMx
cs_Bidou 5507 Messages postés dimanche 4 août 2002Date d'inscription 20 juin 2013 Dernière intervention - 3 janv. 2007 à 12:36
0
Utile
Oui, et il faudrait instancier la class en dehors de la méthode, sinon, si elle est appellé en boucle, on peut recevoir une séquence qui n'est pas si aléatoire que ça...

-Blog-
Commenter la réponse de cs_Bidou

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.