Discuss Scratch
- Discussion Forums
- » Français
- » [Aide ] - Comment faire pour trier les élèments d'une liste ?
- Dobby-Lestrange
- Scratcher
43 posts
[Aide ] - Comment faire pour trier les élèments d'une liste ?
Bonjour à tous,
Je cherche à trier dans l'ordre décroissant une liste de score (au format nnn - username).
Comment réaliser ce tri dans un liste Scracth ?
Merci pour votre aide?.
@Dobby-Lestrange
Je cherche à trier dans l'ordre décroissant une liste de score (au format nnn - username).
Comment réaliser ce tri dans un liste Scracth ?
Merci pour votre aide?.
@Dobby-Lestrange
- Bouboufez
- Scratcher
1000+ posts
[Aide ] - Comment faire pour trier les élèments d'une liste ?
Regarde ce projet et examine-le, il pourrait t'interesser :
https://scratch.mit.edu/projects/140488114/
https://scratch.mit.edu/projects/140488114/
- Dobby-Lestrange
- Scratcher
43 posts
[Aide ] - Comment faire pour trier les élèments d'une liste ?
Merci je vais voir Regarde ce projet et examine-le, il pourrait t'interesser :
https://scratch.mit.edu/projects/140488114/
dire [Merci pour l'aide] pendant (2) secondes
- SBissay
- Scratcher
500+ posts
[Aide ] - Comment faire pour trier les élèments d'une liste ?
Hmm, ce projet revient à un tri par insertion, qui a l'avantage d'être simple à coder, mais est plutôt gourmand en opérations. Si la vitesse d'exécution n'est pas un problème (parce que la liste à trier sera assez petite ou parce que tu as le temps), n'hésite pas à l'utiliser. Sinon, je ne saurais que te conseiller de te pencher sur des algorithmes de tris plus performants, et c'est un domaine plutôt fourni en informatique théorique (et pratique !).
Jette donc un œil ici, et va voir les liens correspondants aux tris qui t'intéressent, le tri est un excellent exercice d'algorithmique. D'autant plus qu'il n'y a pas de “meilleur” tri, juste des versions plus adaptées à chaque situation (qui dépend de la taille de la liste, de la répartition des éléments, de la présence ou non de doublons, de la mémoire disponible, etc.)
Jette donc un œil ici, et va voir les liens correspondants aux tris qui t'intéressent, le tri est un excellent exercice d'algorithmique. D'autant plus qu'il n'y a pas de “meilleur” tri, juste des versions plus adaptées à chaque situation (qui dépend de la taille de la liste, de la répartition des éléments, de la présence ou non de doublons, de la mémoire disponible, etc.)
- smrman
- Scratcher
1000+ posts
[Aide ] - Comment faire pour trier les élèments d'une liste ?
Le plus performant reste de créer 2 listes.
1 avec les éléments à trier et l'autre qui sera notre résultat.
On n'aura plus qu'à transvaser chaque élément de la première liste pour le mettre dans la 2ème et au passage le trier.
Voila un petit script pour trier une liste par ordre croissant avec cette méthode.
1 avec les éléments à trier et l'autre qui sera notre résultat.
On n'aura plus qu'à transvaser chaque élément de la première liste pour le mettre dans la 2ème et au passage le trier.
Voila un petit script pour trier une liste par ordre croissant avec cette méthode.
répéter (longueur de [liste1 v] :: list) fois
répéter jusqu’à <(élément (premier v) de [liste1 v] :: list) > (élément (var) de [liste2 v] :: list)>
ajouter à [var v] (1)
end
insérer (élément (premier v) de [liste1 v] :: list) en position (var v) de la liste [liste2 v]
supprimer l'élément (premier v) de la liste [liste1 v]
end
- Dobby-Lestrange
- Scratcher
43 posts
[Aide ] - Comment faire pour trier les élèments d'une liste ?
Le plus performant reste de créer 2 listes.
1 avec les éléments à trier et l'autre qui sera notre résultat.
On n'aura plus qu'à transvaser chaque élément de la première liste pour le mettre dans la 2ème et au passage le trier.
Voila un petit script pour trier une liste par ordre croissant avec cette méthode.répéter (longueur de [liste1 v] :: list) fois
répéter jusqu’à <(élément (premier v) de [liste1 v] :: list) > (élément (var) de [liste2 v] :: list)>
ajouter à [var v] (1)
end
insérer (élément (premier v) de [liste1 v] :: list) en position (var v) de la liste [liste2 v]
supprimer l'élément (premier v) de la liste [liste1 v]
end
Merci beaucoup je vais peut être essayer
- Itharius
- Scratcher
1000+ posts
[Aide ] - Comment faire pour trier les élèments d'une liste ?
Le plus performant reste de créer 2 listes.
1 avec les éléments à trier et l'autre qui sera notre résultat.
On n'aura plus qu'à transvaser chaque élément de la première liste pour le mettre dans la 2ème et au passage le trier.
Voila un petit script pour trier une liste par ordre croissant avec cette méthode.répéter (longueur de [liste1 v] :: list) fois
répéter jusqu’à <(élément (premier v) de [liste1 v] :: list) > (élément (var) de [liste2 v] :: list)>
ajouter à [var v] (1)
end
insérer (élément (premier v) de [liste1 v] :: list) en position (var v) de la liste [liste2 v]
supprimer l'élément (premier v) de la liste [liste1 v]
end
je bloque depuis hier pour classer les elements d'une liste déjà définie par ordre croissant.
l'algo que tu proposes et je n'arrive pas à comprendre pourquoi classe les elements de la liste 1 dans la liste 2 par ordre décroissant. Help.
j'ai essayé en mettant var à 1 avant la boucle et dans la boucle avant le repeter jsqu'à et rien n'y change
(en fait je comprends pourquoi elle la classe dans l'ordre décroissant mais je trouve pas le truc pour le classer en croissant)
Last edited by Itharius (Aug. 27, 2017 14:04:31)
- Itharius
- Scratcher
1000+ posts
[Aide ] - Comment faire pour trier les élèments d'une liste ?
bon….je viens enfin de réussir à trouver le truc
supprimer l'element tout de la liste 2
ajouter element 1 de la liste 1 à liste 2
supprimer l'element 1 de la liste 1
ensuite le tout dans la boucle repeter longueur de la liste 1
mettre var à 1
repeter jusqu'à l'element 1 de la liste 1 < element var de la liste 2 OU var > longueur de la liste 2
ajouter à var 1
inserer l'element 1 de la liste 1 en position var de la liste 2
supprimer l'element 1 de la liste 1
supprimer l'element tout de la liste 2
ajouter element 1 de la liste 1 à liste 2
supprimer l'element 1 de la liste 1
ensuite le tout dans la boucle repeter longueur de la liste 1
mettre var à 1
repeter jusqu'à l'element 1 de la liste 1 < element var de la liste 2 OU var > longueur de la liste 2
ajouter à var 1
inserer l'element 1 de la liste 1 en position var de la liste 2
supprimer l'element 1 de la liste 1
- spirou201
- Scratcher
500+ posts
[Aide ] - Comment faire pour trier les élèments d'une liste ?
D'ailleurs ranger les éléments d'une liste dans l'ordre croissant fait parti des opérations les plus lentes possibles, car ca utilise une complexité O^2
Voila c'est peut etre inutile mais c'est intéressant… :p
Voila c'est peut etre inutile mais c'est intéressant… :p
- Itharius
- Scratcher
1000+ posts
[Aide ] - Comment faire pour trier les élèments d'une liste ?
le lien donné par Sbissay était trop complexe, surtout que je cherchais une solution simple. 24 possibilités différentes Oo.
Depuis que j'ai posté ce message, j'ai bien avancé et mon jeu est jouable, je vais m'attaquer à la partie de l'IA maintenant , je ne peux pas résister à vous dire que je suis en train de faire un poker joueur contre ordi ^^. j'avais besoin d'un truc pour classer les cartes dans le bon ordre afin que ce soit plus facile pour déterminer les mains. c'est bon les mains sont reconnues maintenant ^^ ( il n'y a que la main 1,2,3,4,5 que je n'ai pas codée). je suis assez excité car si je ne me trompe pas, je n'ai pas encore vu de projet scratch poker avec une IA Computer
Depuis que j'ai posté ce message, j'ai bien avancé et mon jeu est jouable, je vais m'attaquer à la partie de l'IA maintenant , je ne peux pas résister à vous dire que je suis en train de faire un poker joueur contre ordi ^^. j'avais besoin d'un truc pour classer les cartes dans le bon ordre afin que ce soit plus facile pour déterminer les mains. c'est bon les mains sont reconnues maintenant ^^ ( il n'y a que la main 1,2,3,4,5 que je n'ai pas codée). je suis assez excité car si je ne me trompe pas, je n'ai pas encore vu de projet scratch poker avec une IA Computer
Last edited by Itharius (Aug. 27, 2017 18:53:19)
- abraGauthier
- Scratcher
21 posts
[Aide ] - Comment faire pour trier les élèments d'une liste ?
Et pour l’ordre décroissant ?
- Discussion Forums
- » Français
- » [Aide ] - Comment faire pour trier les élèments d'une liste ?