Algorithme de mélange

Signaler
Messages postés
38
Date d'inscription
vendredi 7 février 2003
Statut
Membre
Dernière intervention
20 mars 2005
-
Messages postés
527
Date d'inscription
vendredi 14 septembre 2001
Statut
Membre
Dernière intervention
6 octobre 2008
-
bonjour, j'aimerais connaitre un algorithme de mélange d'un tableau... (aléatoire) ... c'est pour simuler une fonction "mélanger" relative a un paquet de jeu de carte

Merci....
A voir également:

3 réponses

Messages postés
527
Date d'inscription
vendredi 14 septembre 2001
Statut
Membre
Dernière intervention
6 octobre 2008
3
-------------------------------
Réponse au message : Tu fais un tableau 2D d'entiers de taille [4,13] (4 pour les couleurs, 13 pour les faces des cartes)
Remplis le tableau par les valeurs de 1 à 4*13
Fais des iterations de pour i=1;i<=4;i++ et j=1;j<=13;j++
inverse les valeurs de tableau[i][j] et de tableau[rand()%4[rand()%13]

Ensuite pour distribuer les cartes, recherche le numero 1, regarde à quelle couleur/face ça correspond, fais pareil pour le 2, 3 etc...
-------------------------------

> bonjour, j'aimerais connaitre un algorithme de mélange d'un tableau... (aléatoire) ... c'est pour simuler une fonction "mélanger" relative a un paquet de jeu de carte
>
> Merci....
Messages postés
455
Date d'inscription
samedi 26 octobre 2002
Statut
Membre
Dernière intervention
6 avril 2004
8
je trouve la technique assez jolie.
Pour avoir des résultats différents à chaque fois, on initialise la "graine" aléatoire comme dab avec
   srand( (unsigned)time( NULL ) );

puis on exécute un grand (>100) nombre de swaps
Messages postés
527
Date d'inscription
vendredi 14 septembre 2001
Statut
Membre
Dernière intervention
6 octobre 2008
3
-------------------------------
Réponse au message : Effectivement plus le nombre de swaps est grand plus le mélange est de bonne qualité. Quoi qu'il arrive cette méthode est meilleure que celle du bourrin qui consiste à choisir une carte au pif dont on ne sait pas a priori si elle a déjà été distribuée...
-------------------------------

> je trouve la technique assez jolie.
> Pour avoir des résultats différents à chaque fois, on initialise la "graine" aléatoire comme dab avec
>
   srand( (unsigned)time( NULL ) );

> puis on exécute un grand (>100) nombre de swaps
>
>
> -------------------------------
> Réponse au message :
> -------------------------------
>
> >
> >
> >
> >
> > -------------------------------
> > Réponse au message : Tu fais un tableau 2D d'entiers de taille [4,13] (4 pour les couleurs, 13 pour les faces des cartes)
> > Remplis le tableau par les valeurs de 1 à 4*13
> > Fais des iterations de pour i=1;i<=4;i++ et j=1;j<=13;j++
> > inverse les valeurs de tableau[i][j] et de tableau[rand()%4[rand()%13]
> >
> > Ensuite pour distribuer les cartes, recherche le numero 1, regarde à quelle couleur/face ça correspond, fais pareil pour le 2, 3 etc...
> > -------------------------------
> >
> > > bonjour, j'aimerais connaitre un algorithme de mélange d'un tableau... (aléatoire) ... c'est pour simuler une fonction "mélanger" relative a un paquet de jeu de carte
> > >
> > > Merci....
> >
>