Tri

Résolu
Signaler
Messages postés
56
Date d'inscription
dimanche 26 décembre 2004
Statut
Membre
Dernière intervention
4 août 2005
-
Messages postés
56
Date d'inscription
dimanche 26 décembre 2004
Statut
Membre
Dernière intervention
4 août 2005
-
j'ai une suite (6 nombres) de nombre à trier, voilà comment j'ai fait :

public i, j
dim k as integer

For i = 0 To 4
For j = i + 1 To 5
If txtResultat(i).Text > txtResultat(j).Text Then
k = txtResultat(i).Text
txtResultat(i).Text = txtResultat(j).Text
txtResultat(j).Text = k
End If
Next j
Next i

Si je prend un exemple : 1 - 15 - 41 - 3 - 5 - 21 il va me les trier comme ceci : 1 - 15 - 21 - 3 - 41 - 5
comme si les nombres à deux chiffres étaient à virgule ?

Est ce que c'est un problème de déclaration ?

Merci. Luca62

2 réponses

Messages postés
26
Date d'inscription
mercredi 27 juillet 2005
Statut
Membre
Dernière intervention
29 juillet 2005

Pour pouvoir comparer, il faut que tu castes en entier
car si tu restes en text, il compare caractère par caractère. donc 15 avant 2
normal car il compare le 1 et le 2 (en valeur ascii bien sur) et il classe
Donc pour résoudre le pb, je te propose:

For i = 0 To 4
For j = i + 1 To 5
If CInt(txtResultat(i).Text) > CInt(txtResultat(j).Text) Then
k = txtResultat(i).Text
txtResultat(i).Text = txtResultat(j).Text
txtResultat(j).Text = k
End If
Next j
Next i

Plus tu vas moins vite, moins tu vas plus loin
3
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 109 internautes nous ont dit merci ce mois-ci

Messages postés
56
Date d'inscription
dimanche 26 décembre 2004
Statut
Membre
Dernière intervention
4 août 2005

Merci beaucoup. Ca fonctionne.

Luca62.