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 :

Erreur génération d'aleatoire [Débutant]


Sujet :

C#

  1. #1
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2014
    Messages
    34
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 28
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2014
    Messages : 34
    Points : 18
    Points
    18
    Par défaut Erreur génération d'aleatoire
    Bonsoir!,

    Alors voilà,mon but est le suivant:
    mélangez un liste à partir de la méthode suivante:
    à partir de la liste "seqcarte";
    on tire au hasard un indice y entre 1 et 32;on échange les cartes d'indices 1 et y;
    on tire au hasard un indice y entre 2 et 32;on échange les cartes d'indices 1 et y;
    on tire au hasard un indice y entre 2 et 32;on échange les cartes d'indices 1 et y;
    etc...;
    Seulement le problème c'est que ma liste ressort avec seulement quelques éléments de changer le reste est tjrs dans l'ordre.
    Mon code:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    namespace Jeu_de_Carte
    {
        class Program
        {
            static void battre(List<int> b)
            {
                for (int i = 0; i <b.Count-1; i++)
                {
                    Random alea = new Random();
                    int y=alea.Next(0,b.Count-1);
                    int x = b[y];
                    b[y] = b[i];
                    b[i] = x;
                    System.Console.Write(b[i]);
                }
            }
            static void Main(string[] args)
            {
                List<int> seqcarte = new List<int>() { 1, 2, 3, 4, 5, 6, 7, 8, 1, 2, 3, 4, 5, 6, 7, 8, 1, 2, 3, 4, 5, 6, 7, 8, 1, 2, 3, 4, 5, 6, 7, 8 };
                battre(seqcarte);
                Console.ReadKey();
            }
        }
    }

  2. #2
    Membre éclairé
    Avatar de Etanne
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Novembre 2003
    Messages
    469
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Haut Rhin (Alsace)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2003
    Messages : 469
    Points : 855
    Points
    855
    Par défaut
    Bonjour,

    Je vous invite à lire la MSDN dans la partie "remarques" : http://msdn.microsoft.com/en-us/libr...em.random.aspx

    Il est donc conseillé d'instancier qu'une fois Random.

    Essayez donc cela :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    static void battre(Random alea, List<int> b)
    {
        for (int i = 0; i < b.Count - 1; i++)
        {
            int y = alea.Next(0, b.Count - 1);
            int x = b[y];
            b[y] = b[i];
            b[i] = x;
            System.Console.Write(b[i]);
        }
    }
     
    static void Main(string[] args)
    {
        List<int> seqcarte = new List<int>() { 1, 2, 3, 4, 5, 6, 7, 8, 1, 2, 3, 4, 5, 6, 7, 8, 1, 2, 3, 4, 5, 6, 7, 8, 1, 2, 3, 4, 5, 6, 7, 8 };
        Random alea = new Random(/* vous pouvez mettre un seed ! */);
        battre(alea, seqcarte);
        Console.ReadKey();
    }
    Et c'est du pseudo-aléatoire !
    Etanne
    "Phylactère temporaire" = tooltips

    Votre problème a été résolu ? Alors utilisez sur et

  3. #3
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2014
    Messages
    34
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 28
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2014
    Messages : 34
    Points : 18
    Points
    18
    Par défaut
    Merci beaucoup!

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

Discussions similaires

  1. [JasperReport] Erreur génération rapport
    Par kiki2000 dans le forum Jasper
    Réponses: 4
    Dernier message: 06/10/2010, 13h29
  2. génération nombre aleatoire
    Par solen dans le forum Langage
    Réponses: 4
    Dernier message: 25/04/2007, 14h38
  3. [VBA][EXCEL] Erreur génération d'un graphique
    Par PoZZyX dans le forum Macros et VBA Excel
    Réponses: 10
    Dernier message: 16/01/2006, 15h52
  4. htaccess et erreur 404 = resultat aleatoire : (
    Par NoobX dans le forum Apache
    Réponses: 7
    Dernier message: 02/10/2005, 12h52

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