Tirage au sort

Proposez vos idées de programmation si vous avez besoin d'aide.

Tirage au sort

Messagepar Teebeau » 07 Décembre 2009 22:17

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,
Teebeau
 
Messages: 3
Inscription: 07 Décembre 2009 22:09

Re: Tirage au sort

Messagepar Laurae » 08 Décembre 2009 11:04

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
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.
Mod CasioExpert.com
Co-administrateur TI-Planet (avec une partie Casio)
Laurae
 
Messages: 141
Inscription: 25 Novembre 2007 19:23
Localisation: Ozoir-la-Ferrière

Re: Tirage au sort

Messagepar Teebeau » 08 Décembre 2009 18:00

Merci, je vais essayer avec ce que vous m'avez donné.
Teebeau
 
Messages: 3
Inscription: 07 Décembre 2009 22:09


Retourner vers Suggestions

Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 0 invités


xhtml css      © 2001-2014 CasioExpert.com      CasioExpert.com v6      conception & réalisation Mickaël Morier