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 :

Problème avec ma fonction de suppression


Sujet :

C

  1. #21
    Débutant Avatar de étoile de mer
    Profil pro
    Étudiant
    Inscrit en
    Avril 2007
    Messages
    978
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2007
    Messages : 978
    Points : 117
    Points
    117
    Par défaut
    Citation Envoyé par Médinoc Voir le message
    Ben ça, c'est à mettre dans le code de la condition, non?
    non, c'est dans la fonction elaguer (elle prend en entre la table de hachage et la liste chainé)
    la dedans on afait un parcours iteratif du hash table afin de verifier la condition dinclusion avec les autres elemnt de la liste chainé, si c bon suppresiion , sinon on continue le parcours.
    ben c ca l'idee que hai dans la tete
    queest ce que tu pense toi?
    Le jour est le père du labeur et la nuit est la mère des pensées.

  2. #22
    Expert éminent sénior
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 369
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

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

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 369
    Points : 41 519
    Points
    41 519
    Par défaut
    Citation Envoyé par cyrine Voir le message
    on fait quoi dans cette fonction :supprimeMot(pMot);
    Je ne sais pas, j'ai vu le nom dans ton code.
    Je suppose qu'on efface complètement sa liste chaînée de coordonnées, et qu'on termine par faire un free sur le chaînon mot...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    for(ppMot = GetPtrPremier(&TableHash[i]) ; ppMot = (bDejaAvance ? 0 : GetPtrSuivant(ppMot)), bDejaAvance=0 ; GetMotPointePar(ppMot)!=NULL)
    je comprends pas svp
    merci
    C'est l'opérateur ternaire ? :. En gros, ça dit: Si l'entier bDejaAvance (utilisé ici comme booléen) est différent de zéro, on fait simplement ppMot = ppMot (oui, il y avait une erreur dans mon code, je viens de corriger). Sinon, on fait ppMot = GetPtrSuivant(ppMot), en clair, on passe au suivant.
    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.

  3. #23
    Débutant Avatar de étoile de mer
    Profil pro
    Étudiant
    Inscrit en
    Avril 2007
    Messages
    978
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2007
    Messages : 978
    Points : 117
    Points
    117
    Par défaut
    Citation Envoyé par Médinoc Voir le message
    Je ne sais pas, j'ai vu le nom dans ton code.
    Je suppose qu'on efface complètement sa liste chaînée de coordonnées, et qu'on termine par faire un free sur le chaînon mot...


    C'est l'opérateur ternaire ? :. En gros, ça dit: Si l'entier bDejaAvance (utilisé ici comme booléen) est différent de zéro, on fait simplement ppMot = ppMot (oui, il y avait une erreur dans mon code, je viens de corriger). Sinon, on fait ppMot = GetPtrSuivant(ppMot), en clair, on passe au suivant.
    regarde mon idée et dits moi ton avis :
    c'est dans la fonction elaguer (elle prend en entre la table de hachage et la liste chainé)
    la dedans on a fait un parcours iteratif du hash table afin de verifier la condition dinclusion avec les autres elemnt de la liste chainé, si c bon suppression , sinon on continue le parcours.
    ben c ca l'idee que j'ai dans la tete
    jai pas la fonction suppresiionMots dans mon code
    Le jour est le père du labeur et la nuit est la mère des pensées.

  4. #24
    Expert éminent sénior
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 369
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

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

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 369
    Points : 41 519
    Points
    41 519
    Par défaut
    En clair, un double parcours imbriqué de la table de hachage (O(n²)) ?
    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.

  5. #25
    Débutant Avatar de étoile de mer
    Profil pro
    Étudiant
    Inscrit en
    Avril 2007
    Messages
    978
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2007
    Messages : 978
    Points : 117
    Points
    117
    Par défaut
    Citation Envoyé par Médinoc Voir le message
    En clair, un double parcours imbriqué de la table de hachage (O(n²)) ?
    non u seul parcours;
    un pointeur se pointant sur la tete de la table, verif condition (tablehach[i], liste chainé), si c bon supression tablehach[i], sinon incrementation.
    non?
    Le jour est le père du labeur et la nuit est la mère des pensées.

  6. #26
    Expert éminent sénior
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 369
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

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

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 369
    Points : 41 519
    Points
    41 519
    Par défaut
    Mais selon les règles de hachage, rien n'est supposé garantir que tous les mots d'une même ligne sont dans la même liste chaînée...
    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.

  7. #27
    Débutant Avatar de étoile de mer
    Profil pro
    Étudiant
    Inscrit en
    Avril 2007
    Messages
    978
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2007
    Messages : 978
    Points : 117
    Points
    117
    Par défaut
    Citation Envoyé par Médinoc Voir le message
    Mais selon les règles de hachage, rien n'est supposé garantir que tous les mots d'une même ligne sont dans la même liste chaînée...
    dans la table de hachage on a des mots distints avec leur lcoordonné
    regarde ce qui m'affiche le programe; bonjou(1,1)
    Médinoc(1,2)
    ca (1,3)
    va (1,4)

    dans la liste L
    on on "bonjour medinoc(1,2)
    bonjour ca va(1,3)
    "bonjour va(1,4)


    nous on va tester le mot "bonjour" avec "bonjour médinoc" il verifie bien la condition alors on le supprime, aprs on passe au mot"Medinoc" ainsi de suite.
    ta une idée?
    Le jour est le père du labeur et la nuit est la mère des pensées.

  8. #28
    Expert éminent sénior
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 369
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

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

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 369
    Points : 41 519
    Points
    41 519
    Par défaut
    Tu veux dire que tu as une autre liste chaînée hors de la table de hachage ?
    Je n'avais même pas compris ça...
    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.

  9. #29
    Débutant Avatar de étoile de mer
    Profil pro
    Étudiant
    Inscrit en
    Avril 2007
    Messages
    978
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2007
    Messages : 978
    Points : 117
    Points
    117
    Par défaut
    Citation Envoyé par Médinoc Voir le message
    Tu veux dire que tu as une autre liste chaînée hors de la table de hachage ?
    Je n'avais même pas compris ça...
    oui c ca
    jai
    Le jour est le père du labeur et la nuit est la mère des pensées.

  10. #30
    Débutant Avatar de étoile de mer
    Profil pro
    Étudiant
    Inscrit en
    Avril 2007
    Messages
    978
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2007
    Messages : 978
    Points : 117
    Points
    117
    Par défaut
    Citation Envoyé par Médinoc Voir le message
    Tu veux dire que tu as une autre liste chaînée hors de la table de hachage ?
    Je n'avais même pas compris ça...
    oui, jai une table de hachage qui contient les mots avec leurs coordonnées.
    et jai aussi une liste chainée qui contient les sequence de mots (2sequence"2mots");
    c tout
    Le jour est le père du labeur et la nuit est la mère des pensées.

  11. #31
    Expert éminent sénior
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 369
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

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

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 369
    Points : 41 519
    Points
    41 519
    Par défaut
    Peux-tu poster un algorithme plus détaillé de qu'est-ce qui est généré quand et qui va où?
    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.

  12. #32
    Membre confirmé Avatar de KindPlayer
    Profil pro
    Inscrit en
    Février 2007
    Messages
    471
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 471
    Points : 477
    Points
    477
    Par défaut Bonne idée
    J'avoue que je suis largué
    La science est ce que nous comprenons suffisamment bien pour l'expliquer à un ordinateur. L'art, c'est tout ce que nous faisons d'autre.
    Donald E. Knuth

  13. #33
    Débutant Avatar de étoile de mer
    Profil pro
    Étudiant
    Inscrit en
    Avril 2007
    Messages
    978
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2007
    Messages : 978
    Points : 117
    Points
    117
    Par défaut
    Citation Envoyé par Médinoc Voir le message
    Peux-tu poster un algorithme plus détaillé de qu'est-ce qui est généré quand et qui va où?
    OK
    1 lecture du fichier
    2 extraction des mots ainsi que leurs coordonnées (numligne, position)
    3 stockage des mots dans la table de hachage
    4 filrage des mts selon le seuil du nombre d'apparition de chaque mot
    5 generation des 2sequence (composé de 2 mots) par jointure des mots qui sont dans le hash table selon lu numerop de ligne : on concatene seulment les mots qui ont le memem num-ligne
    stockage des 2 seq dans la LISTE CHAINEE Lainsi que leurs info
    6 filtrage des sequence selon le seuil
    7 elaguage : verifiir pour chaque mots du hash table sil est contenu dans les sequence des mots de la liste et qui il est le dernier mots(condition), si ok alors suppression.
    8refaire ces etapes(generation, filtrage, elagage) jusqua atteindre la condition d'arret: ne peux pas generer les séquence.
    Là on affiche tous les sequence ainsi les mots non supprimé
    Le jour est le père du labeur et la nuit est la mère des pensées.

  14. #34
    Débutant Avatar de étoile de mer
    Profil pro
    Étudiant
    Inscrit en
    Avril 2007
    Messages
    978
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2007
    Messages : 978
    Points : 117
    Points
    117
    Par défaut
    Citation Envoyé par cyrine Voir le message
    OK
    1 lecture du fichier
    2 extraction des mots ainsi que leurs coordonnées (numligne, position)
    3 stockage des mots dans la table de hachage
    4 filrage des mts selon le seuil du nombre d'apparition de chaque mot
    5 generation des 2sequence (composé de 2 mots) par jointure des mots qui sont dans le hash table selon lu numerop de ligne : on concatene seulment les mots qui ont le memem num-ligne
    stockage des 2 seq dans la LISTE CHAINEE Lainsi que leurs info
    6 filtrage des sequence selon le seuil
    7 elaguage : verifiir pour chaque mots du hash table sil est contenu dans les sequence des mots de la liste et qui il est le dernier mots(condition), si ok alors suppression.
    8refaire ces etapes(generation, filtrage, elagage) jusqua atteindre la condition d'arret: ne peux pas generer les séquence.
    Là on affiche tous les sequence ainsi les mots non supprimé

    Là l'elagage ne se fait pas seulement entre les mots et les sequences des mots, il se fait auusii entre les sequence des mots : exple entre les 3seq et les 4seq.*
    tu vois?
    Le jour est le père du labeur et la nuit est la mère des pensées.

  15. #35
    Membre confirmé Avatar de KindPlayer
    Profil pro
    Inscrit en
    Février 2007
    Messages
    471
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 471
    Points : 477
    Points
    477
    Par défaut ca en fait des choses
    j'ai toujours du mal a comprendre. Comment se définissent les clés de ta table de hashage?
    Tu peux donner un exemple pour la génération des 2-séquences? Avec le contenu du fichier initial, et ce que tu vas effectivement stocker dans ta table de hash puis dans ta liste de 2-séquence?
    Je comprends pas comment tu peux obtenir d'autres 2-séquences apres que tu les aies générées une premiere fois.
    Je pense que Médinoc va mieux comprendre que moi
    Bref donne un exemple stp
    La science est ce que nous comprenons suffisamment bien pour l'expliquer à un ordinateur. L'art, c'est tout ce que nous faisons d'autre.
    Donald E. Knuth

  16. #36
    Débutant Avatar de étoile de mer
    Profil pro
    Étudiant
    Inscrit en
    Avril 2007
    Messages
    978
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2007
    Messages : 978
    Points : 117
    Points
    117
    Par défaut
    Citation Envoyé par KindPlayer Voir le message
    j'ai toujours du mal a comprendre. Comment se définissent les clés de ta table de hashage?
    Tu peux donner un exemple pour la génération des 2-séquences? Avec le contenu du fichier initial, et ce que tu vas effectivement stocker dans ta table de hash puis dans ta liste de 2-séquence?
    Je comprends pas comment tu peux obtenir d'autres 2-séquences apres que tu les aies générées une premiere fois.
    Je pense que Médinoc va mieux comprendre que moi
    Bref donne un exemple stp
    apres avoir generé les 2 seq, je genere les 3seq, apres les 4,5,..;
    jusquà arrive a un stade où on a des seq qui peuvent pas etre genre càd ils nont pas le meme num ligne (se trouvent pas dans la meme ligne)
    par exple (il fait beau)(1,3)
    (ce garcon est gentil )(2,4)
    a ce stade pas de generation.
    tu vois.
    vraiement jespere que jetais claire
    Le jour est le père du labeur et la nuit est la mère des pensées.

  17. #37
    Expert éminent sénior
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 369
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

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

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 369
    Points : 41 519
    Points
    41 519
    Par défaut
    Tes 2seq, après le filtrage, tu les ajoutes dans la table de hachage ou non?
    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.

  18. #38
    Débutant Avatar de étoile de mer
    Profil pro
    Étudiant
    Inscrit en
    Avril 2007
    Messages
    978
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2007
    Messages : 978
    Points : 117
    Points
    117
    Par défaut
    Citation Envoyé par Médinoc Voir le message
    Tes 2seq, après le filtrage, tu les ajoutes dans la table de hachage ou non?
    non, restent dans la liste chainée
    PS; la jointure se fait toujours avec ces 2seq
    Le jour est le père du labeur et la nuit est la mère des pensées.

  19. #39
    Membre confirmé Avatar de KindPlayer
    Profil pro
    Inscrit en
    Février 2007
    Messages
    471
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 471
    Points : 477
    Points
    477
    Par défaut
    Tu n'as pas vraiment répondu a mes questions, a savoir un exemple de lignes de texte et les 2-séquences générées correspondantes, et comment sont définis les clés de ta tables de hachage? C'est une structure coordonnée? Et qu'appelles tu "position"?
    La science est ce que nous comprenons suffisamment bien pour l'expliquer à un ordinateur. L'art, c'est tout ce que nous faisons d'autre.
    Donald E. Knuth

Discussions similaires

  1. Problème avec une fonction date.
    Par kmayoyota dans le forum ASP
    Réponses: 8
    Dernier message: 09/09/2004, 12h33
  2. Problème avec la fonction findfirst ()
    Par Angelico dans le forum Windows
    Réponses: 3
    Dernier message: 05/08/2004, 20h40
  3. [Requete SQL en VBA] Problème avec la fonction FLOOR
    Par zubral dans le forum Langage SQL
    Réponses: 4
    Dernier message: 13/07/2004, 13h24
  4. Problème avec les fonctions
    Par jvachez dans le forum PostgreSQL
    Réponses: 1
    Dernier message: 13/01/2004, 12h06
  5. [Postgresql]Problème avec les fonctions ...
    Par fet dans le forum Requêtes
    Réponses: 4
    Dernier message: 02/10/2003, 09h04

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