Tirage au sort
Modérateur: Mike
3 messages
• Page 1 sur 1
Tirage au sort
Bonjour,
Je ne suis pas encore un expert , et c'est pourquoi, je fait appel à vous pour un programme qui me semble plus difficile à programmer que tous les petits que j'ai pû créer jusqu'à maintenant.
Je voudrais créer un programme de tirage au sort pour compétition quelconque, qui selon la variable N du nombre d'équipes, annonce -aléatoirement bien sûr- une première phase de matches ou toutes les équipes se rencontre (2 par 2 bien sûr). (Les équipes seraient réprésentées par un nombre de 1 à N).
Merci pour votre aide,
Je ne suis pas encore un expert , et c'est pourquoi, je fait appel à vous pour un programme qui me semble plus difficile à programmer que tous les petits que j'ai pû créer jusqu'à maintenant.
Je voudrais créer un programme de tirage au sort pour compétition quelconque, qui selon la variable N du nombre d'équipes, annonce -aléatoirement bien sûr- une première phase de matches ou toutes les équipes se rencontre (2 par 2 bien sûr). (Les équipes seraient réprésentées par un nombre de 1 à N).
Merci pour votre aide,
- Teebeau
- Messages: 3
- Inscription: 07 Décembre 2009 21:09
Re: Tirage au sort
Cela semble un peu compliqué vu les limites des calculatrices Casio, mais c'est certainement possible.
Il faudrait réaliser quelque chose comme cela :
- Associer un couple d'équipe un nombre fixe
bon, là c'est pas trop visible, mais il y a 6 combinaisons possibles sans permutation pour 4 équipes, il y a pour N équipes N(N-1)/2 combinaisons possibles.
- Rentrer dans une liste " Seq(X,X,1,N(N-1)/2) -> List 1" (pas sûr de la syntaxe)
- Prendre un nombre aléatoire entre 1 et Dim List 1, "Int (Dim List 1 * Ran#) + 1->R"
- Reassocier le nombre aléatoire au couple original
exemple concret pour 4 équipes, avec R=5 (il faut {2,4}) :
- Et puis enlever R de la liste 1.
Il faudrait réaliser quelque chose comme cela :
- Associer un couple d'équipe un nombre fixe
- Code: Tout sélectionner
Exemple, pour 4 équipes.
{1,2} = 1 = {2,1}
{1,3} = 2 = {3,1}
{1,4} = 3 = {4,1}
{2,3} = 4 = {3,2}
{2,4} = 5 = {4,2}
{3,4} = 6 = {4,3}
bon, là c'est pas trop visible, mais il y a 6 combinaisons possibles sans permutation pour 4 équipes, il y a pour N équipes N(N-1)/2 combinaisons possibles.
- Rentrer dans une liste " Seq(X,X,1,N(N-1)/2) -> List 1" (pas sûr de la syntaxe)
- Code: Tout sélectionner
Exemple, pour 4 équipes
List 1[1] = 1
List 1[2] = 2
List 1[3] = 3
List 1[4] = 4
List 1[5] = 5
List 1[6] = 6
- Prendre un nombre aléatoire entre 1 et Dim List 1, "Int (Dim List 1 * Ran#) + 1->R"
- Reassocier le nombre aléatoire au couple original
- Code: Tout sélectionner
Algorithme:
0->S
For 1->A To N
For A+1->B To N
Isz S // même chose que S+1->S
R=S => A->X
R=S => B->Y
Next
Next
exemple concret pour 4 équipes, avec R=5 (il faut {2,4}) :
- Code: Tout sélectionner
0->S
1->A
2->B
0+1->S //1->S
//R!=S
3->B
1+1-S //2->S
//R!=S
4->B
2+1->S //3->S
//R!=S
2->A
3->B
3+1->S //4->S
//R!=S
2->A
4->B
4+1->S //5->S
R=S => A->X //2->X
R=S => B->Y //4->Y
- Et puis enlever R de la liste 1.
- Laurae
- Messages: 100
- Inscription: 25 Novembre 2007 18:23
- Localisation: Ozoir-la-Ferrière
Re: Tirage au sort
Merci, je vais essayer avec ce que vous m'avez donné.
- Teebeau
- Messages: 3
- Inscription: 07 Décembre 2009 21:09
3 messages
• Page 1 sur 1
Qui est en ligne
Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 0 invités