Hum, le c# ou mon cerveau qui fait n'importe quoi? ^^ [Résolu]

Signaler
Messages postés
19
Date d'inscription
lundi 18 janvier 2010
Statut
Membre
Dernière intervention
4 avril 2010
-
Messages postés
6351
Date d'inscription
samedi 1 juin 2002
Statut
Modérateur
Dernière intervention
2 août 2014
-
bonjour à tous !

voila mon petit soucis !

voila l'algo tout simple (que j'ai simplifié et converti en mode console)

int x;
            int numpass, ch;
            string[] caracteres = { "a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k", "m", "n", "p", "q", "r", "s", "t", "u", "v", "w", "x", "y", "z", "A", "B", "C", "D", "E", "F", "G", "H", "J", "K", "L", "M", "N", "P", "Q", "R", "S", "T", "U", "V", "W", "X", "Y", "Z", "1", "2", "3", "4", "5", "6", "7", "8", "9" };
            for (x = 0; x <= 200; x++)
            {
                //Generation MOT DE PASS
                
                
                Random rand = new Random();
                string motdp = "";
                for (numpass = 0; numpass < 7; numpass++)
                {
                    ch = rand.Next(0, 56);
                    motdp += caracteres[ch];
                }

                
                    Console.WriteLine(motdp);
               
                
                //MOT DE PASSE GENERé
                   
            }
            Console.ReadLine();


ce qui devrait me générer 201 mot de passes aléatoires de 7 caractères

et pourtant...

voici le résultat:



pour y remédier, j'ai ajouté un petit
System.Threading.Thread.Sleep(50);


qui permet de faire patienter 0.05 seconde (je crois) entre chaque génération


verdict? :s

Algo pas bon?

3 réponses

Messages postés
1024
Date d'inscription
mardi 4 février 2003
Statut
Membre
Dernière intervention
7 juin 2010
62
Hello,

J'avais donné une réponse à une question similaire ici.

En gros, pour résoudre ton problème, il faut sortir

Random rand = new Random();

de ta boucle.


Amicalement, SharpMao

"C'est pas parce qu'ils sont nombreux à avoir tort qu'ils ont raison!"
(Coluche / 1944-1986 / Pensées et anecdotes)
Messages postés
19
Date d'inscription
lundi 18 janvier 2010
Statut
Membre
Dernière intervention
4 avril 2010

merci SharpMao, ça fonctionne maintenant parfaitement bien !

tu as désormais un fan de plus :p

Affaire classsssssssssée !
Messages postés
6351
Date d'inscription
samedi 1 juin 2002
Statut
Modérateur
Dernière intervention
2 août 2014
85
Bonjour,

Sinon au passage, Thread.Sleep ne garanti pas une pause d'exactement 50 ms.
Il faut plutôt le voir comme "une pause d'environ 50 ms si possible, plus sinon".


/*
coq
MVP Visual C#
CoqBlog
*/