Pige pas randomize et comportement

Pige pas randomize et comportement - C#/.NET managed - Programmation

Marsh Posté le 23-01-2004 à 13:10:30    

ok je me suis crée une class qui fait du calcul aléatoire  
 
dedans j'utlise la propriété randomize et rnd afin de me donner une valeur aléatoire.
 
Dans le corps de mon programme je crée deux thread chacun appelle ma class.
 
Et là je me retrouve avec exactement les mêmes suite de chiffre.
 
C'est quoi cet histoire ( un problème d'héritage de randomize) ou quoi. (je l'ai aussi placé dans le corps de mon programme même chose j'ai ajouté une petite tempo entre le démarrage des deux threads identique.
 
A oui mon pc est un bi-cpu et chaque thread est sur une cpu


Message édité par bossamiral2 le 23-01-2004 à 13:11:39
Reply

Marsh Posté le 23-01-2004 à 13:10:30   

Reply

Marsh Posté le 23-01-2004 à 13:13:28    

ben si tu les initialize avec la meme graine.... ?


Message édité par chrisbk le 23-01-2004 à 13:13:37
Reply

Marsh Posté le 23-01-2004 à 13:17:41    

ok mais si j'intègre randomize dans ma classe appelé j'obtiens la même chose

Reply

Marsh Posté le 23-01-2004 à 13:48:46    

ca nous dit toujours pas comment tu initialises.
Tu es en C# et tu utilises la classe System.Random??
Et si c'est pour de la crypto, tu peux aller voir la classe System.Security.Cryptography.RNGCryptoServiceProvider et son membre GetBytes.
A+,


Message édité par gilou le 23-01-2004 à 13:58:26

---------------
There's more than what can be linked! --    Iyashikei Anime Forever!    --  AngularJS c'est un framework d'engulé!  --
Reply

Marsh Posté le 23-01-2004 à 14:15:27    

excuse j'utilise effectivement system.random
 C'est du VB.net mais c'est le même principe que le c#
 
dim a as integer
dim number(100) as integer
Dim e As New System.Random
randomize()
For i=1 to 100
 number(a) = (CInt(99 * e.NextDouble() + 1))
Next
C'est pas pour de la cryptographie, mais pour générer des chaines de d'entier aléatoire
     

Reply

Marsh Posté le 23-01-2004 à 15:20:34    

Normal que tu aies toujours la meme sequence de valeur a chaque fois, puisque tu ne changes pas la seed.
 
Je fais pas de VB, donc ma syntaxe est SGDG
Si tu fais Dim e As New System.Random(seed) ou tu fais varier la valeur de l'entier seed a chaque appel (par exemple en le mettant dans une variable statique que tu modifies apres ta boucle) ca devrait donner ce que tu souhaites.
A+,


Message édité par gilou le 23-01-2004 à 15:21:25

---------------
There's more than what can be linked! --    Iyashikei Anime Forever!    --  AngularJS c'est un framework d'engulé!  --
Reply

Marsh Posté le 02-02-2004 à 15:37:12    

class ta_class
{
   static System.Random e = new System.Random();
}
 
peut-etre ?


---------------
-( BlackGoddess )-
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed