IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C# Discussion :

Random pas random ..


Sujet :

C#

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Décembre 2010
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2010
    Messages : 7
    Par défaut Random pas random ..
    Bonjour, une question sur le code suivant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    using System;
     
    namespace Test
    {
    class Program
    {
    static void Main()
    {
    int j;
    for (int i = 0; i<10; i++)
    {
    j=new Random().Next(0,100);
    Console.WriteLine(j.ToString());
    }}}}
    Le resultat me donne :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    89
    89
    89
    89
    89
    89
    89
    89
    25
    25
    Apparemment c'est parce que mes nombres aléatoire sont générés trop rapidement à la suite et donc les instances random générées au meme moment.
    Comment faire pour générer plusieurs nombres random à la suite donc ?

    thx

  2. #2
    Membre Expert Avatar de meziantou
    Homme Profil pro
    autre
    Inscrit en
    Avril 2010
    Messages
    1 223
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Autre

    Informations professionnelles :
    Activité : autre
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2010
    Messages : 1 223
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    int j;
    Random random = new Random();
    for (int i = 0; i<10; i++)
    {
        j = random.Next(0,100);
        Console.WriteLine(j.ToString());
    }

  3. #3
    Membre chevronné
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Août 2008
    Messages
    381
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Août 2008
    Messages : 381
    Par défaut
    Random est initialisé avec un Seed qui provient de la date/heure du système.

    Donc si tu en crée plusieurs dans le "même temps", tu vas avoir les mêmes résultats. Je crois avoir lu ça sur MSDN.

  4. #4
    Membre Expert Avatar de DonQuiche
    Inscrit en
    Septembre 2010
    Messages
    2 741
    Détails du profil
    Informations forums :
    Inscription : Septembre 2010
    Messages : 2 741
    Par défaut
    Pour compléter ce qu'a dit PatteDePoule, j'ajoute que l'heure servant de référence pour la graine (seed) n'est mise à jour que toutes les 15ms par défaut. Cet intervalle est spécifique à l'OS et peut changer sur d'autres plateformes, de futures versions, etc. Qui plus est cela vaut pour toutes les mesures standard de temps sous Windows, à moins qu'un timer multimédia ne soit couramment utilisé par un des processus en cours, auquel cas la résolution est améliorée.

    Tout cela étant dit, la façon correcte d'utiliser Random est d'initialiser un seul générateur puis d'appeler successivement Next() pour générer une séquence pseudo-aléatoire.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Rnd(), la fonction random qui ne random pas
    Par zarohn dans le forum VB.NET
    Réponses: 3
    Dernier message: 24/05/2010, 14h46
  2. Random pas si aléatoire que ça
    Par Noobboy dans le forum Silverlight
    Réponses: 5
    Dernier message: 14/05/2009, 14h32
  3. Problème variable random pas très random..
    Par Saten dans le forum C++
    Réponses: 9
    Dernier message: 03/02/2009, 00h13
  4. random pas adapté
    Par Draikhin dans le forum Langage
    Réponses: 1
    Dernier message: 05/09/2008, 16h38
  5. random pas si random que ça
    Par Biosox dans le forum C
    Réponses: 6
    Dernier message: 31/07/2006, 19h21

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo