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

Bibliothèque standard C Discussion :

Trie des informations


Sujet :

Bibliothèque standard C

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé Avatar de Topeur
    Profil pro
    Inscrit en
    Février 2008
    Messages
    91
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 91
    Par défaut Trie des informations
    Bonjour a tous,

    grâce au conseil de medinoc, j'ai réussi a faire ce dont j'avais besoin, c'est à dire parcourir mes fichiers et crée un fichier texte listant l'intégralité des fichiers dont j'ai besoin.

    Mais je viens a vous pour un petit souci qui peut être peut se corriger plus simplement que ce que je compte faire. Apres le listage, mon fichier contient ceci

    sujet1
    sujet11
    sujet12
    sujet2
    sujet21
    sujet22
    sujet3
    or ce dont j'ai besoin c'est d'avoir une liste trié

    sujet1
    sujet2
    sujet3
    sujet11
    sujet12
    sujet21
    sujet22

    Dans l'idée, je comptai une fois tout le fichier écrit, le rouvrir et le trier. Mais n'existe t'il pas une technique pour que je puisse effectuer en une seule pass l'écriture des fichiers ainsi triés.

    Bonne journée a vous

  2. #2
    Expert confirmé

    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    10 610
    Détails du profil
    Informations personnelles :
    Âge : 67
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 10 610
    Billets dans le blog
    2
    Par défaut
    si tu es sur unixoide, "sort -u"

    sinon, tu peux le faire avec un qsort en C

  3. #3
    Expert confirmé
    Avatar de diogene
    Homme Profil pro
    Enseignant Chercheur
    Inscrit en
    Juin 2005
    Messages
    5 761
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Enseignant Chercheur
    Secteur : Enseignement

    Informations forums :
    Inscription : Juin 2005
    Messages : 5 761
    Par défaut
    C'est un peu plus compliqué :
    La première liste est déjà triée mais sur un critère alphanumérique. La liste souhaitée devra être triée sur un critère numérique portant sur les valeurs suivant le mot sujet.

  4. #4
    Membre confirmé Avatar de Topeur
    Profil pro
    Inscrit en
    Février 2008
    Messages
    91
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 91
    Par défaut Windows
    Pour créer cette liste, j'ai utiliser les fonctions FindFirstFile... qui sont spécifique a Windows.

    C'est la fonction FindNextFile qui me sort les fichiers dans cet ordre et l'explorateur Windows affiche pourtant les images dans le même ordre que ma seconde liste.

    J'en conclus que windows doit aussi utiliser des fonctions de tri, mais plus poussé que qsort car c'est un tri de caractère et aussi de nombre.

    J'espère que je suis a peu près clair

  5. #5
    Expert éminent
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 398
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 398
    Par défaut
    L'explorateur Windows fait un traitement supplémentaire après le parcours, pour trier selon les colonnes demandées.
    (quant au tri sur les nombres, c'est une option désactivable avec TweakUI).

    Toi, il faut que tu re-tries toi-même pour donner l'ordre que tu veux.
    Une fois que tu connais le nombre de fichiers dans le dossier, tu peux toujours te créer un tableau dynamique de chaînes, relire ton fichier texte pour y mettre tes fichiers et faire le tri ensuite...

    Alors, il ne restera plus qu'à écrire la fonction de comparaison, qui sera complexe mais pas trop difficile à faire.
    SVP, pas de questions techniques par MP. Surtout si je ne vous ai jamais parlé avant.

    "Aw, come on, who would be so stupid as to insert a cast to make an error go away without actually fixing the error?"
    Apparently everyone.
    -- Raymond Chen.
    Traduction obligatoire: "Oh, voyons, qui serait assez stupide pour mettre un cast pour faire disparaitre un message d'erreur sans vraiment corriger l'erreur?" - Apparemment, tout le monde. -- Raymond Chen.

  6. #6
    Membre confirmé Avatar de Topeur
    Profil pro
    Inscrit en
    Février 2008
    Messages
    91
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 91
    Par défaut Happy :)
    Ha ben je suis content de lire ce post

    j'en étais arrivé au même conclusion et j'étais donc en cours d'écriture de ma fonction de trie. Je viens de finir de la penser, je vais me mettre a la coder et si ça marche je vous tiens au courant.

    Merci pour toutes vos informations

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Comment avoir des information sur une BD?…
    Par kikimnet dans le forum Bases de données
    Réponses: 1
    Dernier message: 12/02/2005, 09h20
  2. Réponses: 9
    Dernier message: 17/08/2004, 16h16
  3. [C#] Transférer des informations entre 2 formulaires
    Par monoeilouais dans le forum Windows Forms
    Réponses: 2
    Dernier message: 14/07/2004, 17h21
  4. Comment récuperer des informations d'un .swf (flash) ?
    Par diado dans le forum API, COM et SDKs
    Réponses: 7
    Dernier message: 12/01/2004, 21h32
  5. Réponses: 6
    Dernier message: 28/09/2003, 17h49

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