Tri entre chiffres,et mots en minuscule et en majuscule

Soyez le premier à donner votre avis sur cette source.

Vue 7 954 fois - Téléchargée 755 fois

Description

Ce code écrit en Delphi comprend un tri numérique et un tri alphanumérique. Il propose de classer un mélange de chiffres décimaux ou non, de mots écrits en minuscule ou en majuscule. Des annotations sont faites dans le code pour aider à la compréhension.

Conclusion :


Il fonctionne sur des chiffres entiers ou décimaux aléatoires et sur une liste de mots. Il peut très bien être modifié en une unité ou composant.

Codes Sources

A voir également

Ajouter un commentaire Commentaire
Messages postés
57
Date d'inscription
dimanche 27 mars 2005
Statut
Membre
Dernière intervention
15 janvier 2009

Hello Flavmel

Bonne idée. J'ai cependant une petite réticence à voir les minuscules transformées en majuscules dans la liste résultantes. Une petite amélioration consiste à remplacer dans la procédure TriAlpha :
if Items.Strings[i] > Items.Strings[j] then begin
val:=Items[i]; Items[i]:=Items[j]; Items[j]:=val;
end;
par
if UpperCase(Items.Strings[i]) > UpperCase(Items.Strings[j]) then
val:=Items[i]; Items[i]:=Items[j]; Items[j]:=val;
end;

Il subsiste quand même un petit défaut car 2 mots identiques mais l'un en minuscules et l'autre en majuscules peuvent être dans un ordre inadéquat, comme par exemple : "adroit" qui est placé avant "ADROIT" tandis que "BADEN" est bien placé avant "baden" en fonction du hasard du placement initial.

Pour finaliser le bon tri, il faudrait tester la 1ère lettre et les suivantes, si nécessaire, pour détecter l'ordre exact entre 2 mots identiques ou partiellement identiques.

Peut-être que quelqu'un à une meilleure idée ou solution

Cordialement

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.