IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage Delphi Discussion :

Trie Tableau 2 dimensions


Sujet :

Langage Delphi

  1. #1
    Candidat au Club
    Homme Profil pro
    Inscrit en
    Mars 2012
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2012
    Messages : 3
    Points : 2
    Points
    2
    Par défaut Trie Tableau 2 dimensions
    Bonjour!

    Voila j'ai un problème j'ai un Tableau dynamique à 2 dimensions.
    Il y a 302 lignes. (j'ai testé avec Length). Chaque ligne à 7 colonnes.

    Comment peut-on trier le contenue selon une colonne spécifique?

    Merci.

  2. #2
    Membre expert

    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2007
    Messages
    3 494
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Novembre 2007
    Messages : 3 494
    Points : 3 122
    Points
    3 122
    Par défaut
    Citation Envoyé par Creatortag21 Voir le message
    Comment peut-on trier le contenue selon une colonne spécifique?
    C'est à dire ? Je dois être un peu endormi en ce beau dimanche mais je ne comprends pas le "selon une colonne spécifique" :-(

  3. #3
    Rédacteur/Modérateur
    Avatar de Andnotor
    Inscrit en
    Septembre 2008
    Messages
    5 787
    Détails du profil
    Informations personnelles :
    Localisation : Autre

    Informations forums :
    Inscription : Septembre 2008
    Messages : 5 787
    Points : 13 442
    Points
    13 442
    Par défaut
    Tu ne peux pas facilement !
    Il faudra passer par un premier tableau temporaire que tu rempliras avec les index du tableau source en fonction de ton algorithme de tri, puis un deuxième que tu rempliras avec les données sources en fonction de la table d'index avant de le recopier dans le tableau source...

    Si la deuxième dimension est dynamique, on pourrait aussi imaginer ne faire qu'une modification de pointeur en fonction de la table d'index.

  4. #4
    Candidat au Club
    Homme Profil pro
    Inscrit en
    Mars 2012
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2012
    Messages : 3
    Points : 2
    Points
    2
    Par défaut
    J'ai oublié de dire que c'est des String ^^'

    C'est toujours possible?

  5. #5
    Membre expert

    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2007
    Messages
    3 494
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Novembre 2007
    Messages : 3 494
    Points : 3 122
    Points
    3 122
    Par défaut
    Il y a une autre possibilité à mon avis plus simple.
    Il faudrait utiliser un type record avec 7 membres de type string en remplacement d'une ligne de tableau.
    Ensuite, stocker ces record dans un TList.
    Après, la fonction sort avec le sortcompare qui va bien fera le travail.

  6. #6
    Expert éminent sénior

    Avatar de Nono40
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2002
    Messages
    8 640
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : France, Loir et Cher (Centre)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Industrie

    Informations forums :
    Inscription : Mai 2002
    Messages : 8 640
    Points : 19 104
    Points
    19 104
    Par défaut
    Citation Envoyé par Papy214 Voir le message
    Il y a une autre possibilité à mon avis plus simple.
    Il faudrait utiliser un type record avec 7 membres de type string en remplacement d'une ligne de tableau.
    Ensuite, stocker ces record dans un TList.
    Après, la fonction sort avec le sortcompare qui va bien fera le travail.
    Attention avec les String dans les Record. L'allocation des chaines longues ne sera pas gérée automatiquement à l'ajout/supression des enregistrements.
    Il faut mieux faire une classe simple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    TMAClasse=Class
       Chaine1 : String;
       ..
       Chaine7 : String;
    End;
    La création/desctruction d'un instance gérera correctement l'allocation des chaines longues.
    De plus, comme c'est un objet, tu peux utiliser TObjectList qui gèrera seul la libération des éléments de la liste.

  7. #7
    Membre éclairé
    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    707
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2002
    Messages : 707
    Points : 777
    Points
    777
    Par défaut
    Il me semble qu'une possibilité serait d'utiliser le wrapper TDynArray de Arnaud Bouchez: http://synopse.info/forum/viewtopic.php?id=254
    Il permet de gérer les tableaux dynamiques de façon similaire à une liste, et le tri s'applique ensuite assez facilement sur n'importe quel champ de ton record.

Discussions similaires

  1. [WD15] Trie sur un tableau à 2 dimensions
    Par rednight dans le forum WinDev
    Réponses: 6
    Dernier message: 19/11/2010, 08h46
  2. [tableau à 2 dimensions] association String et float
    Par LoLoSS dans le forum Collection et Stream
    Réponses: 3
    Dernier message: 12/07/2004, 10h53
  3. Tableau à n dimensions
    Par youb dans le forum MFC
    Réponses: 10
    Dernier message: 13/05/2004, 14h13
  4. Passage d'un tableau à deux dimensions
    Par karl3i dans le forum C
    Réponses: 3
    Dernier message: 20/10/2003, 14h50
  5. Réponses: 23
    Dernier message: 21/08/2003, 07h16

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo