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 :

la fonction qsort


Sujet :

C

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    122
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 122
    Points : 54
    Points
    54
    Par défaut la fonction qsort
    Bonjour j'ai une structure

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    struct fiche
    {
       char nom[11];
       char prenom[11];
       int age;
    }Personne;

    dans un fichier.h et je dois utiliser la fonction qsort pour trier un tableau de Personne

    la fonction de comparaison est :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    int compare_prenom (void const*a , void const *b)
    {
       struct ITEM const *pa = a;
       struct ITEM const *pb = b;
    return strcmp (pa->prenom, pb->prenom);
     
    }
    l'appel de la fonction qsort:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    qsort(P,nb_P,10,compare_prenom);
    D'après ce que j'ai compris en parcourant le net je ne peut pas créer la fonction compare_prenom (...) de la sorte car mes structure sont dans un autre fichier!!
    voici l'erreur qu'il me génére
    erreur: déréférencement d'un pointeur de type incomplet
    meci de votre aide

  2. #2
    Expert éminent sénior
    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
    Points : 13 926
    Points
    13 926
    Par défaut
    Pourquoi, dans la fonction compare_prenom(), as-tu
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    struct ITEM const *pa = a;
    struct ITEM const *pb = b;
    et non
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Personne const *pa = a;
    Personne const *pb = b;
    Dans l'appel à qsort :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    qsort(P,nb_P,10,compare_prenom);
    pourquoi ce 10 ? On attend la taille d'une Personne : sizeof(Personne)

    PS : Ne confond pas les balises de citation et les balises délimitant le code (bouton #)
    Publication : Concepts en C

    Mon avatar : Glenn Gould

    --------------------------------------------------------------------------
    Une réponse vous a été utile ? Remerciez son auteur en cliquant le pouce vert !

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    122
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 122
    Points : 54
    Points
    54
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    struct ITEM const *pa = a;
    struct ITEM const *pb = b;
    la fatigue

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    qsort(P,nb_P,10,compare_prenom);
    pas bien compris

    merci tout fonctionne

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

Discussions similaires

  1. Fonction qsort, l'affichage
    Par Cannot dans le forum Débuter
    Réponses: 2
    Dernier message: 04/09/2010, 18h55
  2. Problème fonction QSORT
    Par antoine_59 dans le forum C
    Réponses: 2
    Dernier message: 29/12/2008, 11h27
  3. fonction qsort ()
    Par kevinou55 dans le forum Débuter
    Réponses: 2
    Dernier message: 06/12/2008, 16h59
  4. Reecriture fonction qsort
    Par bleach1234 dans le forum C
    Réponses: 9
    Dernier message: 05/11/2006, 19h15
  5. Utilisation de la fonction qsort
    Par Jsmeline dans le forum C
    Réponses: 8
    Dernier message: 28/01/2005, 12h40

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