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

C Discussion :

Help sur Qsort ou autre


Sujet :

C

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Août 2006
    Messages
    25
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 25
    Points : 24
    Points
    24
    Par défaut Help sur Qsort ou autre
    Bonjour a tous,

    Je cherche un semblant de solution, ou meme la solution .

    En effet, je souhaite faire un trie sur un gros tableau d'uchar :

    A B C D
    A A A B
    A C D C // Petit jeu de mot :-)
    A B A B

    bref tout sa c dans un tableau et je souhaiterai trier ce tableau afin d'avoir

    A A A B
    A B A B
    A B C D
    A C D C


    Je pense que Qsort peu le faire mais je ne vois pas comment gerer avec la fonction compare ???



    Par avance merci pour toute vos idées .

    Morgan

  2. #2
    Rédacteur
    Avatar de darrylsite
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    1 299
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juillet 2007
    Messages : 1 299
    Points : 2 501
    Points
    2 501
    Par défaut
    On est pas là pour faire l' exercice à ta place. Tous ce qu' on faire, c' est de te conseiller, de t' aider en partant de ce que tu as dejà fait.

    En plus on envoie pas des sms ici.

    Retournons à ton probleme:
    Je vois que tu veux faire les tris par colonne, alors je ne vois pas du tout le probleme qu' il y' a si tu peux faire le tri sur un tableau à une dimension.

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Août 2006
    Messages
    25
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 25
    Points : 24
    Points
    24
    Par défaut
    Ok bon,

    Je pensais etre sympa et ne pas parler en langage sms mais bon

    Mes exercices , ... Mental peut être ou pour ma boite ?! Bref

    Pour retourner sur mon problème :

    En tout cas je vois toujours a par avoir retranscrit en français ce que je souhaitait je ne vois pas

    De plus il y a plusieurs dimension

    Cordialement

    Morgan

  4. #4
    Rédacteur

    Avatar de millie
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    7 015
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 7 015
    Points : 9 818
    Points
    9 818
    Par défaut
    Bonjour et bienvenue sur le forum de developpez.com

    Avec qsort : http://man.developpez.com/man3/qsort.3.php

    Il y a l'argument int (*compar)(const void *, const void *) qui va permettre de comparer deux éléments.

    Par exemple, pour des char, tu peux écrire une fonction compare :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    int compare(const void * va, const void * vb) {
      const char * pa = va;
      const char * pb = vb;
     
      char a =  *pa;
      char b =  *pb;
      //comparer a et b
    }
    La spécification de compare est la suivante :
    La fonction de comparaison doit renvoyer un entier inférieur, égal, ou supérieur à zéro si le premier argument est respectivement considére comme inférieur, égal ou supérieur au second. Si la comparaison des deux arguments renvoie une égalite (valeur de retour nulle), l'ordre des deux éléments est indéfini.
    Ensuite, quand tu appelles qsort, tu dois juste passer en paramètre compare au niveau de la fonction

    Emmanuel a écrit un petit tuto là dessus : http://emmanuel-delahaye.developpez.com/qsort.htm
    Je ne répondrai à aucune question technique en privé

  5. #5
    Membre à l'essai
    Profil pro
    Inscrit en
    Août 2006
    Messages
    25
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 25
    Points : 24
    Points
    24
    Par défaut
    Merci pour tout c'est top

    C'est super enfin un bon tutorial sur qsort !

    @ bientot

    Morgan

  6. #6
    Expert éminent sénior
    Avatar de Emmanuel Delahaye
    Profil pro
    Retraité
    Inscrit en
    Décembre 2003
    Messages
    14 512
    Détails du profil
    Informations personnelles :
    Âge : 67
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Décembre 2003
    Messages : 14 512
    Points : 20 985
    Points
    20 985
    Par défaut
    Citation Envoyé par f.morgan3 Voir le message
    Je pensais etre sympa et ne pas parler en langage sms mais bon
    Tu ne t'en rends même plus compte
    bref tout sa c dans un tableau
    triste époque...
    Pas de Wi-Fi à la maison : CPL

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

Discussions similaires

  1. Réponses: 1
    Dernier message: 17/12/2005, 00h30
  2. Réponses: 4
    Dernier message: 16/11/2005, 17h12
  3. help sur un petit code avec XMLHttpRequest et setTimeout
    Par grinder59 dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 01/10/2005, 10h22
  4. Minimize Maximize perso sur une form autre que Application
    Par sdebrois dans le forum API, COM et SDKs
    Réponses: 5
    Dernier message: 07/03/2005, 17h59
  5. help sur le code d'une procedures stockee
    Par omlip dans le forum MS SQL Server
    Réponses: 6
    Dernier message: 25/08/2004, 18h45

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