lilington
Messages postés158Date d'inscriptionsamedi 31 janvier 2004StatutMembreDernière intervention12 mars 2009
-
27 mai 2005 à 19:37
lilington
Messages postés158Date d'inscriptionsamedi 31 janvier 2004StatutMembreDernière intervention12 mars 2009
-
30 mai 2005 à 13:21
Salut je but sur un problème d'algorithme:
je cherche à confectionner un calentrierde match aller d'un championat de football
on note que si le nbe d'équipe entré est impère on a automatiquement une equipe ajouté qui se nomera "ex"
par exemple si on a 5 équipe on aura :
t[0]="A",t[1]="B",.....,t[4]="E" et t[5]="ex" equipe ajouté pour avoir
un nbr paire d'équipe pous on a la liste des match pssible:
le travail consiste a générer un calendrier séparé en journées dans
lesquelles toutes les équipes s'affrontent 2 à 2 et aucune équipe ne
joue 2 fois dans la même journée et aucun match ne doit être redondant
dans le calendrier ex:
journée 1: journée 2:
A-B A-C
C-D D-E
E-ex B-ex
et ainsi de suite.
j'en ai fait un mais il ne fonctionne corectement qu'avec 4 équipes
(disons que mon alogo était fait en fonction de 4 ) je cherche à le
généraliser pour N équipe avec N dans [1,20]
ctx_man
Messages postés285Date d'inscriptionmardi 28 décembre 2004StatutMembreDernière intervention20 janvier 20133 27 mai 2005 à 23:51
Bonjour,
Si je me souvien bien de mes cours de maths, ton problème de probabilité se resoud par la formule suivante : nCp n = nombre d'equipe.
p = nombre d'equipe par match (donc 2).
Pour le cas ou tu ne saurai pas ce que veux dire cette formule tu peux la remplacer par :
n!/(p!(n-p)!)
Toujours pour le cas ou tu ne saurais pas ce que veux dire la notation n!
On dit "factoriel n" et c'est un calcul simple qui consiste a multiplier l'entier naturel n par chacun des entier naturels non nul inférieur à lui.
Exemple:4! 4*3*2*1 24
Grace à cette formule tu peux connaitre la liste complete de tous les matchs possibles.
Cependant il est impossible d'effectuer tous les match en deux jours si chacune des equipe ne peut jouer qu'une seule fois par jour. Dans ton exemple tu as oublier le match A-D, tu le met ou ?
lilington
Messages postés158Date d'inscriptionsamedi 31 janvier 2004StatutMembreDernière intervention12 mars 2009 28 mai 2005 à 04:08
merci pour la réponse mais on sais pas bien compris
1/ soit nCp règle peut être mon problème mais moi j'ai déjà touvé ma
formule pour le nombre de match possible soit Nx(N-1) /2
pour les matchs en aller simple et Nx(N-1) pour les matches en aller
retour avec N= nombre d'équipe
2/ il n'a jamais été question de faire ça en 2 journée c'étais un
example pour expliquer ce que je voulais il n'était donc pas complets
j'ai aussi ma forlume pour trouver le nb de journée soit:
2N-2 c'est le nombre de journée pour un championat aller
retour il va du bon sens que le nombre de journée aller est N-1
donc je reformule ma question:
comment obtenir la matérialisation de nCp ou de Nx(N-1) /2 donc tous les cas possible
je vais le faire pour 4 équipes mais je demande un algo qui est général:
soit 4équipes : nice ,psg,nante,lyon
jai donc nbrtotal de mach= 4*3=12 total de match aller=12/2=6 nb de journée=6 et à l'aller 3 ,nbr de match par journée=N/2=2
voici une situation des 3 journées:
journé1
journée
2
journée 3
nice -
psg
nice -
nante
nice - lyon
Lyon-nante
psg-Lyon
psg-nante
ça je l'ai fait à vu d'oeil le problème c'est que je veux un algo j'en
fais des 10aine mais il y a toujours une érreur quelqu'un peu m'aidé?
sachant que j'ai déja rangé les 6 match possible dans un tableau le
seul problème est de répartir ces 6 matchs en 3journée (plus
généralement c'est xmatch en y journée) sans qu'aucune équipes ne joue
2 fois dans la même journée et sans qu'aucun match n'apparaisse 2 fois
voici pon tableau :
tbmatch[6]={1,2,3,12,13,23} avec 1 signifi 0 contre 1
2= 0 contre 2 ..... 23= 2 contre 3
pour les retrouvé: équipe a= tbmatch[i]/10;équipe b= tbmatch[i]%10
dans notre cas si nice=0 psg1,lyon 2 et nante 3
la question est comment obtenir le tableau suivant: calendrier[6]={1,23,3,12,2,13}c'est la copy des 3 journées dans un tableau.
j'espère que cette fois il n'y a pas d'anbiguité sur mon problème
et que vous aurez compris où se trouvent mes difficultés?
lilington
Messages postés158Date d'inscriptionsamedi 31 janvier 2004StatutMembreDernière intervention12 mars 2009 28 mai 2005 à 15:57
bon après quelques corrections sur mes algo déjà présent j'ai enfin
trouvé je vous prénsenterai le résultat dans ma prochaine source
(probablement pour Pocket PC) mais n'hésité pas si vous avez des algos
à me proposer.
Vous n’avez pas trouvé la réponse que vous recherchez ?
cosmobob
Messages postés700Date d'inscriptionmardi 30 décembre 2003StatutMembreDernière intervention27 janvier 20094 29 mai 2005 à 21:21
j'entends par 'pivoter' faire tourner les nombres ds le sens des
aiguilles d'une montre. (ca marche aussi dans l'autre sens hein,
l'important et qu'on déduise chaque journée de la précedente en gardant
le meme sens)