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 :

TRI RAPIDE D'un tableau de pointeur dure!


Sujet :

C

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 7
    Par défaut TRI RAPIDE D'un tableau de pointeur dure!
    Bonsoir,

    Je rencontre des problèmes avec un tri rapide de tableau de pointeur. Pour le moment sa compile mais le programme plante. Pourquoi a votre avi ?

    PS: les variables qui manque sont des varariables globales. Avez vous besion de plus de code pour m'aider ?

    MERCI

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    void tri(nb) 
    { 
       tri_bis(0,nb-1); 
    } 
     
    void tri_bis(int debut, int fin) 
    { 
       int pivot; 
     
       if (debut < fin) 
       { 
          pivot = placement_pivot(debut, fin); 
          tri_bis (debut, pivot-1); 
          tri_bis (pivot+1, fin); 
       } 
    } 
     
    int placement_pivot(int debut, int fin) 
    { 
       int compteur = debut; 
       int pivot = table[debut]; 
       int i;//indice 
     
       for (i=debut+1; i<=fin; i++) 
       { 
          if (strcmp (table[i], table[pivot]) < 0)//test de la valeur de ligne 
          { 
             pivot=i; 
             strcpy (buf, table[compteur] );//echange des indices 
             strcpy (table[compteur], table[pivot]); 
             strcpy (table[pivot], buf); 
          } 
          strcpy (buf, table[debut] );//echange des indices 
          strcpy (table[compteur], table[debut]); 
          strcpy (table[compteur], buf); 
          return(compteur); 
       } 
    }

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

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Décembre 2003
    Messages : 14 512
    Par défaut
    Citation Envoyé par pierrotibus Voir le message
    Je rencontre des problèmes avec un tri rapide de tableau de pointeur. Pour le moment sa compile mais le programme plante. Pourquoi a votre avi ?
    "avis" ...

    C'est parfois instructif (éducatif) de réinventer la roue, mais si c'était dans un contexte 'industriel', j'utiliserais qsort()...
    PS: les variables qui manque sont des varariables globales. Avez vous besion de plus de code pour m'aider ?
    Des globales, quelle horreur...

    On a besoin d'un code compilable.

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

    Informations forums :
    Inscription : Décembre 2006
    Messages : 7
    Par défaut j'aurais aimé
    non il s'agit d'un cadre scolaire.

    Mais je veux bien des explications sur la fonction qsort() comme le prototype et la librairie.

    :-)

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

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Décembre 2003
    Messages : 14 512
    Par défaut
    Citation Envoyé par pierrotibus Voir le message
    Mais je veux bien des explications sur la fonction qsort() comme le prototype et la librairie.
    C'est une fonction de la bibliothèque standard du C. C'est donc écrit dans ton livre de C...

    Sinon : http://man.developpez.com

  5. #5
    Expert confirmé
    Avatar de Thierry Chappuis
    Homme Profil pro
    Enseignant Chercheur
    Inscrit en
    Mai 2005
    Messages
    3 499
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : Suisse

    Informations professionnelles :
    Activité : Enseignant Chercheur
    Secteur : Industrie Pharmaceutique

    Informations forums :
    Inscription : Mai 2005
    Messages : 3 499
    Par défaut
    Citation Envoyé par pierrotibus Voir le message
    PS: les variables qui manque sont des varariables globales. Avez vous besion de plus de code pour m'aider ?
    Pourquoi as-tu besoin de variables globales ici? C'est une pratique fortement déconseillée.

    Thierry
    "The most important thing in the kitchen is the waste paper basket and it needs to be centrally located.", Donald Knuth
    "If the only tool you have is a hammer, every problem looks like a nail.", probably Abraham Maslow

    FAQ-Python FAQ-C FAQ-C++

    +

  6. #6
    Membre à l'essai
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 7
    Par défaut Variables globales
    c'est demandé dans l'énoncé :

    -Utiliser 2 variables globales :
    le tableau de char pour la saisie
    le tableau des identifiants
    -Utiliser l'insertion par dichotomie
    ...

    Je peux vous donner le code complet si vous voulez m'aider, j'ai un l'aire de vous soulez ? c'est parce que je suis nouvellement inscrit ?

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

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Décembre 2003
    Messages : 14 512
    Par défaut
    Citation Envoyé par pierrotibus Voir le message
    c'est demandé dans l'énoncé :

    -Utiliser 2 variables globales :
    le tableau de char pour la saisie
    le tableau des identifiants
    Change d'école...

  8. #8
    Membre à l'essai
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 7
    Par défaut Houla.
    Dit moi,

    Il n'y aurais pas une notion d'entre-aide dans les forums... Parce que a part ce foutre de moi.

  9. #9
    Expert éminent
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 393
    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 393
    Par défaut
    Ce n'est pas du foutage de gueule:
    • Emmanuel ne se fout pratiquement jamais de la gueule des gens ici,
    • Et si une école te dit d'utiliser des variables globales, alors c'est l'école qui se fout de ta gueule, pas nous.
    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.

  10. #10
    Expert confirmé
    Avatar de Thierry Chappuis
    Homme Profil pro
    Enseignant Chercheur
    Inscrit en
    Mai 2005
    Messages
    3 499
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : Suisse

    Informations professionnelles :
    Activité : Enseignant Chercheur
    Secteur : Industrie Pharmaceutique

    Informations forums :
    Inscription : Mai 2005
    Messages : 3 499
    Par défaut
    Citation Envoyé par pierrotibus Voir le message
    Dit moi,

    Il n'y aurais pas une notion d'entre-aide dans les forums... Parce que a part ce foutre de moi.
    On ne se fout pas de toi. L'utilisation de variables globales est une des pires choses que l'on puisse apprendre à un débutant. Si de telles variables doivent être utilisées, il faut être en mesure de justifier ce choix.

    C'est une grosse faute, de la part d'une école, que de proposer une consigne comme celle que tu as publié plus haut. Mais ça, tu n'y es pour rien.

    Afin de pouvoir d'aider efficacement et de voir pourquoi le programme plante, il faudrait que tu nous fournisse un exemple de code qu'on puisse compiler.

    Thierry
    "The most important thing in the kitchen is the waste paper basket and it needs to be centrally located.", Donald Knuth
    "If the only tool you have is a hammer, every problem looks like a nail.", probably Abraham Maslow

    FAQ-Python FAQ-C FAQ-C++

    +

Discussions similaires

  1. Tri rapide sur un tableau d'entiers
    Par eldoir dans le forum Shell et commandes GNU
    Réponses: 46
    Dernier message: 03/07/2015, 12h02
  2. Tri rapide d'un tableau
    Par lefort dans le forum Télécharger
    Réponses: 0
    Dernier message: 30/11/2010, 15h24
  3. Tri de tableau par pointeurs
    Par colocolo dans le forum Pascal
    Réponses: 9
    Dernier message: 19/02/2007, 21h02
  4. tableau de pointeur+tri+coup de pouce svp
    Par php4life dans le forum C
    Réponses: 12
    Dernier message: 15/04/2006, 13h49
  5. Réponses: 2
    Dernier message: 08/04/2004, 16h30

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