bojda
Messages postés13Date d'inscriptionmardi 8 mars 2005StatutMembreDernière intervention28 février 2006
-
20 févr. 2006 à 14:48
cs_coq
Messages postés6349Date d'inscriptionsamedi 1 juin 2002StatutMembreDernière intervention 2 août 2014
-
29 mars 2008 à 00:08
Bonjour,
j'aimerais savoir si quelqu'un connaît un algorithme de mélange d'un tableau en c# ?
Elektra22
Messages postés3Date d'inscriptionvendredi 28 mars 2008StatutMembreDernière intervention27 avril 2008 28 mars 2008 à 08:43
Bonjour à tous,
je dois générer des nombres aléatoir,
(pour pouvoir générer des solutions aléatoires pour le Récui Simulé),
j'utilise rnd.Next(min,max), mais ça me génére 4 fois de suite le meme nombre,
comment faire pour avoir des nombres (entier) totalement aléatoire??????
Merci d'avance
cs_coq
Messages postés6349Date d'inscriptionsamedi 1 juin 2002StatutMembreDernière intervention 2 août 2014101 28 mars 2008 à 23:58
Salut,
Tu peux te servir RNGCryptoServiceProvider. Un Int32 n'est rien d'autre que 4 octets, donc :
RandomNumberGenerator rng = RNGCryptoServiceProvider.Create();
Byte[] bytes = new Byte[4];
rng.GetBytes(bytes);
Int32 nb = BitConverter.ToInt32(bytes, 0);
// ou directement
// Int32 nb = (((bytes[0] | bytes[1] << 8) | bytes[2] << 16) | bytes[3] << 24);
PS : la prochaine fois poste plutôt un nouveau sujet sur le forum, en mettant un lien vers l'ancien si nécessaire, car tu as peu de chances de réponse sur d'aussi vieux sujets.
cs_coq
Messages postés6349Date d'inscriptionsamedi 1 juin 2002StatutMembreDernière intervention 2 août 2014101 29 mars 2008 à 00:08
Sinon à part ça, je suppose que tu recrées l'instance de Random à chaque tour de la boucle ?
Si tu n'a pas besoin de nombre aléatoires au point de devoir passer par RNGCryptoServiceProvider et que tu peux te contenter de nombres pseudo aléatoires, contente toi de sortir la création de l'instance de Random de la boucle, ça n'en sera que mieux pour les performances.
Une solution mixte est d'utiliser RNGCryptoServiceProvider pour générer le seed de Random.