Bonjour à tous,
je n'ai pas l'habitude de manipuler de tableau et je suis un peu perdu pour faire un classement simple.
J'ai par exemple 4 équipes avec chacune un nombre de points et de but marqués:
Eq. PTS. buts
1. 6. 12
2. 10. 15
3. 2. 4
4. 6. 6
Je souhaiterai faire un classement trié par points puis par buts marqués, donc trié selon la colonne 2 puis 3.
Je ne sais pas dans quel sens partir, des listes ? tableau à 2 dimensions ?
ça m'a l'air simple, mais dès que je pars dans une direction, je bloque tout de suite...
(à la base j'ai un tableau pour chaque équipe qui contient leurs résultats,
j'ai essayer de faire un tableau de tableaux mais ce n'est peut être pas le plus simple)
Pouvez-vous m'aider?
Merci par avance
Tri de Tableau en C#
- boubouk50
- ModoGenereux
- Messages : 6225
- Inscription : 28 Avr 2014 11:57
- Localisation : Saint-Didier-en-Bresse (71)
Re: Tri de Tableau en C#
Si tu tries un tableau, il faut que les autres soient "triés" de la même manière (donc pas un tri en fait).
Il y a plusieurs façons de faire, je t'en propose une.
Une classe Team qui contient (au moins) 3 données:
L'index de l'équipe, les nombre de points et le nombre de but.
Un tableau d'équipe qui contient les équipes.
3 fonctions de tris sur ce tableau, par Index, par But et par Point.
Comme ça tu tries les Teams, donc les attributs de Team restent ensemble puisque contenus dans une seule classe.
Il y a plusieurs façons de faire, je t'en propose une.
Une classe Team qui contient (au moins) 3 données:
L'index de l'équipe, les nombre de points et le nombre de but.
Un tableau d'équipe qui contient les équipes.
3 fonctions de tris sur ce tableau, par Index, par But et par Point.
Comme ça tu tries les Teams, donc les attributs de Team restent ensemble puisque contenus dans une seule classe.
"Ce n'est pas en améliorant la bougie, que l'on a inventé l'ampoule, c'est en marchant longtemps."
Nétiquette du forum
Savoir faire une recherche
Apprendre la programmation
Nétiquette du forum
Savoir faire une recherche
Apprendre la programmation
Re: Tri de Tableau en C#
Merci pour ta réponse.
J'ai bien compris comment faire la classe Team contenant les différentes données a affecter pour chaque équipe.
Je comprend comment faire mon tableau d'équipes.
Est ce qu'il serait possible d'avoir un exemple de ses fameuses fonctions de tris à faire ensuite ?
J'ai bien compris comment faire la classe Team contenant les différentes données a affecter pour chaque équipe.
Je comprend comment faire mon tableau d'équipes.
Est ce qu'il serait possible d'avoir un exemple de ses fameuses fonctions de tris à faire ensuite ?
Re: Tri de Tableau en C#
Je me suis servi de cela quand j'ai eu ce besoin : https://docs.microsoft.com/fr-fr/dotnet ... ew=net-6.0
- boubouk50
- ModoGenereux
- Messages : 6225
- Inscription : 28 Avr 2014 11:57
- Localisation : Saint-Didier-en-Bresse (71)
Re: Tri de Tableau en C#
https://stackoverflow.com/questions/130 ... -class-ins
Il faut appeler la fonction Sort de Array avec un comparateur.
Avec myClassArray un tableau de ta classe Team qui contient les champs entiers: int Index, int Buts et int Points.
Une fois le tableau trié par Index/Buts/Points, tu peux la lire dans un sens ou l'autre pour avoir un tri ascendant ou descendant.
Il faut appeler la fonction Sort de Array avec un comparateur.
Code : Tout sélectionner
Array.Sort(myClassArray,
delegate(MyClass x, MyClass y) { return x.Buts.CompareTo(y.Buts); });
Une fois le tableau trié par Index/Buts/Points, tu peux la lire dans un sens ou l'autre pour avoir un tri ascendant ou descendant.
"Ce n'est pas en améliorant la bougie, que l'on a inventé l'ampoule, c'est en marchant longtemps."
Nétiquette du forum
Savoir faire une recherche
Apprendre la programmation
Nétiquette du forum
Savoir faire une recherche
Apprendre la programmation
Re: Tri de Tableau en C#
Merci beaucoup pour vos réponses,
je pense que je vais réussir à faire ce que je souhaite.
Juste pour info (même si je peux faire autrement pour mon problème actuel), est-il possible de trier un tableau sur 2 critères consécutifs: par exemple on trie par points en utilisant le code que vous m'avez montré en exemple mais en cas d'égalité pour ce critère on départage avec le critère suivant par exemple les buts ?
C'est juste pour savoir, votre aide a déjà permis de résoudre mon problème.
Merci encore
je pense que je vais réussir à faire ce que je souhaite.
Juste pour info (même si je peux faire autrement pour mon problème actuel), est-il possible de trier un tableau sur 2 critères consécutifs: par exemple on trie par points en utilisant le code que vous m'avez montré en exemple mais en cas d'égalité pour ce critère on départage avec le critère suivant par exemple les buts ?
C'est juste pour savoir, votre aide a déjà permis de résoudre mon problème.
Merci encore
Re: Tri de Tableau en C#
Le principe de la solution est d'écrire une méthode de tri : dès lors, tu peux lui faire faire ce que tu veux.
- boubouk50
- ModoGenereux
- Messages : 6225
- Inscription : 28 Avr 2014 11:57
- Localisation : Saint-Didier-en-Bresse (71)
Re: Tri de Tableau en C#
Comme dit, il te faut définir une fonction de comparaison (Ici c'est CompareTo () qui est utilisée) comme bon te semble.Le principe de la solution est d'écrire une méthode de tri : dès lors, tu peux lui faire faire ce que tu veux.
"Ce n'est pas en améliorant la bougie, que l'on a inventé l'ampoule, c'est en marchant longtemps."
Nétiquette du forum
Savoir faire une recherche
Apprendre la programmation
Nétiquette du forum
Savoir faire une recherche
Apprendre la programmation