Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
2060 connectés 

  FORUM HardWare.fr
  Programmation
  PHP

  Tri de Tableau...Youpiie...

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Tri de Tableau...Youpiie...

n°1743107
max-imum
Posté le 08-06-2008 à 12:29:20  profilanswer
 

Hello tout le monde.
 
Voilà j'ai un question pas forcément passionnante car il s'agit d'un problème de tri de tableau...et je sèche....j'ai donc besoin de vos lumières!
 
 
Voilà en résumé:
 
 
J'ai une liste de résultats sous forme d'un tableau classé dans cet ordre:
 
joueur1[99][98][97][45]
joueur2[100][98][92][45]
joueur3[98][84][47][25]
joueur4[98][97][56][15]
 
Chaque joueur possède un certain nombre de notes, et ces notes sont triées dans le tableau.
 
Mon problème est que je dois afficher un classement de ces joueurs en fonction des meilleures notes.
 
Donc en premier tous les joueurs qui ont un 100, puis tous les joueurs qui on un 99 etc... De plus le joueur qui a un 100 ET un 99 sera devant celui qui a un 100 ET un 98... et ainsi de suite. Il faut prendre en compte les 4 meilleures notes pour chaque joueur.... j'espère que je suis clair....
 
Donc les résultats en fonction du tableau ci-dessus doivent être tirés de cette façon:
 
1: joueur2[100][98][92][45]
2: joueur1[99][98][97][45]
3: joueur4[98][97][56][15]
4: joueur3[98][84][47][25]
 
Bref, je ne sais pas du tout comment faire.....
 
Merci d'avance!


Message édité par max-imum le 08-06-2008 à 12:30:00
mood
Publicité
Posté le 08-06-2008 à 12:29:20  profilanswer
 

n°1743182
NewsletTux
<Insérez ici votre vie />
Posté le 08-06-2008 à 18:02:04  profilanswer
 

tu souhaites trier par le premier index, c'est ça ?
je ne comprends pas trop l'utilité de faire un tableau avec autant d'indexes, ceci dit, tu peux stocker dans une table temporaire tes "notes" et trier cette table ...
concrètement si $array_A est ton tableau actuel :
 

Code :
  1. $temp = array();
  2. foreach($array_A as $joueur => $array_notes)
  3. {
  4.     $temp[$joueur] = $array_notes[0];
  5. }
  6. arsort($temp);
  7. print_r($temp);



---------------
NewsletTux - outil de mailing list en PHP MySQL
n°1743254
flo850
moi je
Posté le 08-06-2008 à 22:01:52  profilanswer
 

mode crade

Code :
  1. usort( $monTableauBizarre, create_function ( '$a,$b','return $a[0]> $b[0] || ($a[0] ==$b[0] && ( $a[1] > $b[1] || ($a[1] ==$b[1] &&( $a[2] > $b[2] || ($a[2] ==$b[2] && $a[3] > $b[3]))))))');
 

ou un truc du genre

 

ou sinon, en moins drole , tu fais une vrai fonction de comparaison , c'est plus propre

Message cité 1 fois
Message édité par flo850 le 08-06-2008 à 22:02:32

---------------

n°1743441
PunkRod
Digital Mohawk
Posté le 09-06-2008 à 13:52:49  profilanswer
 

j'ai un peu de mal avec l'énoncé :
 
si c'est un classement sur les 4 meilleures notes : extrait les 4 meilleures notes, puis fait une moyenne et réordonne en conséquence (donc un joueur avec 100 et 50 sera après 98 et 97 dans ce cas).
 
Sinon, si c'est un classement la meilleure note, puis la seconde meilleure note, etc :
tu fais ta recherche sur la première clé, tu la sors de ta liste, et tu recommences avec les autres pour la 2eme clé et ainsi de suite, en prenant en compte les éventuelles égalité bien sûr. (de cette manière le joueur avec 100 sortira avant celui qui a 98, quelles que soient les autres valeurs)

n°1743464
skeye
Posté le 09-06-2008 à 14:20:00  profilanswer
 

flo850 a écrit :

create_function ();


OMFG me dit pas qu'ils ont osé?[:pingouino]

 

[edit]

 

Si, ils ont osé.[:roane]


Message édité par skeye le 09-06-2008 à 14:20:36

---------------
Can't buy what I want because it's free -
n°1743466
flo850
moi je
Posté le 09-06-2008 à 14:21:22  profilanswer
 

ca marche pour de vrai ( je l'utilise quand j'ai des tableaux d'objet et que je fait une crise de fainéantise )


---------------

n°1743470
skeye
Posté le 09-06-2008 à 14:22:21  profilanswer
 

flo850 a écrit :

ca marche pour de vrai ( je l'utilise quand j'ai des tableaux d'objet et que je fait une crise de fainéantise )


[:sadnoir]


---------------
Can't buy what I want because it's free -
n°1743908
max-imum
Posté le 10-06-2008 à 01:09:15  profilanswer
 

MErci pour vos réponses et désolé pour le délai de réponse (j'étais absent).
 
PunkRod et NewsletTux merci pour vos suggestions, je vais explorer dans ce sens! Je vous redonne des nouvelles.


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  PHP

  Tri de Tableau...Youpiie...

 

Sujets relatifs
choix d'un seul élément dans un tableau[resolu]construction tableau depuis bd
deplacement des cellules d'un tableau mais est possibleTableau de String + Entier -- Premier Prob Résolu
tableau à deux dimension[RESOLU] Traiter un tableau 2 par 2
Tableau avec année dynamique[C] Modifier chaine dans tableau à double entrée
[Résolu] Sudoku, trouver les coordonnées d'un tableau 3x3[C] Stockage tableau dans Mémoire partagée
Plus de sujets relatifs à : Tri de Tableau...Youpiie...


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR