Hum, le c# ou mon cerveau qui fait n'importe quoi? ^^

Résolu
Sharpnel Messages postés 19 Date d'inscription lundi 18 janvier 2010 Statut Membre Dernière intervention 4 avril 2010 - 8 févr. 2010 à 15:09
cs_coq Messages postés 6351 Date d'inscription samedi 1 juin 2002 Statut Membre Dernière intervention 2 août 2014 - 13 févr. 2010 à 19:30
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

SharpMao Messages postés 1024 Date d'inscription mardi 4 février 2003 Statut Membre Dernière intervention 7 juin 2010 68
8 févr. 2010 à 15:42
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)
3
Sharpnel Messages postés 19 Date d'inscription lundi 18 janvier 2010 Statut Membre Dernière intervention 4 avril 2010
8 févr. 2010 à 15:48
merci SharpMao, ça fonctionne maintenant parfaitement bien !

tu as désormais un fan de plus :p

Affaire classsssssssssée !
0
cs_coq Messages postés 6351 Date d'inscription samedi 1 juin 2002 Statut Membre Dernière intervention 2 août 2014 99
13 févr. 2010 à 19:30
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
*/
0