Algorithme de mélange

cs_C2S Messages postés 38 Date d'inscription vendredi 7 février 2003 Statut Membre Dernière intervention 20 mars 2005 - 13 févr. 2003 à 18:06
cs_GoldenEye Messages postés 527 Date d'inscription vendredi 14 septembre 2001 Statut Membre Dernière intervention 6 octobre 2008 - 16 févr. 2003 à 23:03
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

cs_GoldenEye Messages postés 527 Date d'inscription vendredi 14 septembre 2001 Statut Membre Dernière intervention 6 octobre 2008 4
13 févr. 2003 à 22:52
-------------------------------
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....
0
cs_vieuxLion Messages postés 455 Date d'inscription samedi 26 octobre 2002 Statut Membre Dernière intervention 6 avril 2004 8
16 févr. 2003 à 22:53
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
0
cs_GoldenEye Messages postés 527 Date d'inscription vendredi 14 septembre 2001 Statut Membre Dernière intervention 6 octobre 2008 4
16 févr. 2003 à 23:03
-------------------------------
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....
> >
>
0
Rejoignez-nous