Trie de données numériques dans un tableau

brezh Messages postés 11 Date d'inscription mardi 30 septembre 2003 Statut Membre Dernière intervention 11 juillet 2013 - 30 juin 2004 à 12:28
jdeboer Messages postés 254 Date d'inscription mardi 25 mars 2003 Statut Membre Dernière intervention 4 février 2006 - 2 juil. 2004 à 14:33
Bonjour,
J'ai un problème de tri dans un tableau avec des données numériques :

mresultats = [scoreJ1, scoreJ2, scoreJ3, scoreJ4, scoreJ5];
trace(mresultats.toString());
mresultats.sort();
trace(mresultats.toString());
premier = mresultats[0];
deuxieme = mresultats[1];
//…/..
dernier = mresultats[4];

Si le score ne dépasse pas 10 pour scoreJx, tout est ok, j’obtiens bien le tri du premier au dernier.
Par contre, si un joueur obtient plus que 10, il effectue un tri « texte », ce qui place le scoreJx=10 avant scoreJx=9.
Je ne sais pas comment lui demander d’effecteur un tri sur des données numériques.

Merci.

5 réponses

Prouprou_Sensei Messages postés 517 Date d'inscription mardi 23 décembre 2003 Statut Membre Dernière intervention 24 octobre 2006 1
30 juin 2004 à 15:08
Regarde l'aide de Math.max() et tri tes nombres avec ca.
A tchao !
0
jdeboer Messages postés 254 Date d'inscription mardi 25 mars 2003 Statut Membre Dernière intervention 4 février 2006
30 juin 2004 à 16:39
Pourquoi tu convertis les resultats en String ?
C pour ca ils croient que c des chaines de caracteres au lieu d un nombre. d ou le 10 avant le 9...
0
jdeboer Messages postés 254 Date d'inscription mardi 25 mars 2003 Statut Membre Dernière intervention 4 février 2006
30 juin 2004 à 16:42
Oups desole j avais pas vu que tu avais converti uniquement pour le trace. Mais ma remarque tient tjs. A mon avis il faudrait que tu convertisses tes resultats en nombre (NUMBER() ) avant de les mettre dans le tableau.
0
brezh Messages postés 11 Date d'inscription mardi 30 septembre 2003 Statut Membre Dernière intervention 11 juillet 2013
2 juil. 2004 à 00:19
Bonsoir,
Merci encore pour vos réponses, elles sont toutes les deux pertinentes, elles me permettront de réaliser le "cousin faible", pâle copie du jeu TV.
Je suppose que pour la fonction Math.max et Math.min, il faut un tri à bulle car il ne prend en entrée que deux valeurs, et pour number() qui me parait plus simple à première vue, avant de les insérer dans un tableau, je cherche encore, car je pensais que quand on faisait i=i+1, i était un nombre.
Salutations.
Brezh
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
jdeboer Messages postés 254 Date d'inscription mardi 25 mars 2003 Statut Membre Dernière intervention 4 février 2006
2 juil. 2004 à 14:33
Ben apparement c'est pas des nombres. Tu peux tester ta variable avec IsType , il te dira quel type de variable c'est. Mais bon vu le comportement que tu decris, j'ai bien l impression qu'il croit que c des String.

POur le coup du Max, je pense qu'il fait allusion a ce que tu decris. C'est a dire trier deux par deux. Tu as plusieurs methodes plus rapide que les autres (Quicksort ...). Mais bon je trouve ca un peu ridicule quand tu sais qu'il y a une fonction tout prete.
0
Rejoignez-nous