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 :

créer un tableau à partir d'une table de hachage


Sujet :

C

  1. #81
    Expert éminent sénior
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 379
    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 379
    Points : 41 573
    Points
    41 573
    Par défaut
    En tout cas, elle a une belle double fuite de mémoire, la seconde fonction...

    Et aussi:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    	m1= RechercherMotCompactC( pcMot,mot1);
       	 m2= RechercherMotCompactC(pcMot,mot2);
    Tu sais, les warnings et les erreurs de compilation, ça n'est pas pour faire joli...
    Si m'appelle pour des erreurs alors que ton code appelle des fonctions en leur passant des paramètres qui ne sont pas du bon type, tu me fais perdre mon temps!

  2. #82
    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
    Jem'excuse d'avoir fait perdre ton temps
    desolée 1000 fois
    MAis franchement là je vois pas de quoi tu parle, aussi je n'ai pas de warnings qui sont afichées.
    Desolée une autre fois

  3. #83
    Expert éminent sénior
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 379
    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 379
    Points : 41 573
    Points
    41 573
    Par défaut
    As-tu au moins les warnings activés?

  4. #84
    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
    j'ai des anciens warnings portant sur la partie de lecture du fichier et tout

  5. #85
    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
    j'ai ces 2 erreurs :
    se/main.c|1367|attention : passing argument 1 of ‘RechercherMotCompactC’ from incompatible pointer type|
    se/main.c|1367|attention : passing argument 1 of ‘RechercherMotCompactC’ from incompatible pointer type|
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    	m1= RechercherMotCompactC( pcMot,mot1);
        m2= RechercherMotCompactC(pcMot,mot2);

  6. #86
    Expert éminent sénior
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 379
    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 379
    Points : 41 573
    Points
    41 573
    Par défaut
    Quelles sont tes options de warnings?

  7. #87
    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
    Quelles sont tes options de warnings?
    ba je sais pas comment le configurer ce code blocks

  8. #88
    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
    voilà j'ai ajouter des free :
    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
    double info_mut_cond(MotCompact const *pc, MotCompact const *pc2,MotCompact const  pcMot[])
    {
    	double IM=0;
    	char const * mot = GetMotCompact(pc);
    	char * mot1 = malloc(sizeof (*mot1) * 256);
    	char * mot2 = malloc(sizeof (*mot2) * 256);
    	double  p1;
    	MotCompact const *m1;
        MotCompact const *m2;
     
     
    	sscanf(mot, "%s %s", mot1, mot2);
     
    	m1= RechercherMotCompactC(pcMot,mot1);
        m2= RechercherMotCompactC(pcMot,mot2);
        p1=(NbLignesCommunes(pc,pc2)/((double)596831));
     
    	IM=p1;
    	free(mot1);
    	free(mot2);
     
    	return  IM;
    }
    et l'erreur persiste encore

  9. #89
    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
    Donc l'idée vient du départ:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    calculerlesRegles1(pMots2fr,pMots1en,nbMots1,nbMots2,pMots1fr);
    donc pMots2fr, pMots1en doivent du type MtCompact
    et pMots1fr doit etre de type TableauMotsCompacts c'est ca?
    si c'est comme ca comme je passe TableauMotsCompacts en parametre c'est pas connu dans le main
    Arf::

  10. #90
    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
    Ah oui c'est vrai, j'ai oublié d'appeler la fonction
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    TableauMotsCompacts * tmc1fr=CreerTableMotsCompacts(DblTableHash1fr);
    au départ
    MAis est ce qu'il faut une allocation mémoire??

  11. #91
    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
    Bonsoir , j'ai cru que tout marche nikel, mais apres 2heures d'execution, il s'interrompt et m'indique une erreur de segmentation.
    Je vois pas koi le souci
    une idée?
    merci

  12. #92
    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
    là j'ai une erreur :
    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
    double info_mut_cond(MotCompact const *pc, MotCompact const *pc2,TableauMotsCompacts * pcMot)
    {
    	double IM=0;
    	char const * mot = GetMotCompact(pc);
    	char * mot1 = malloc(sizeof (*mot1) * 256);
    	char * mot2 = malloc(sizeof (*mot2) * 256);
    	double  p1,p2,p3,p4,p5;
    	MotCompact const *m1;
        MotCompact const *m2;
     
    	sscanf(mot, "%s %s", mot1, mot2);
     
    	m1= RechercherMotCompactC(pcMot,mot1);
        m2= RechercherMotCompactC(pcMot,mot2);
        p1=(NbLignesCommunes(pc,pc2)/((double)596831));
      p2=(GetNbLigneMotCompact(m1)/((double)596831));
     
        p4=(NbLignesCommunes(m1,pc2)/((double)596831));
       p5=(NbLignesCommunes(m2,pc2)/((double)596831));
    	IM=p1*log((p2*p1)/(p4*p5));
    	return  IM;
    	free(mot1);
    free(mot2);
    }
    se/main.c|1493|attention : passing argument 1 of ‘GetNbLigneMotCompact’ discards qualifiers from pointer target type|

    Je vois pas si c'est la cause de se souci

  13. #93
    Membre éclairé
    Avatar de Pouet_forever
    Profil pro
    Inscrit en
    Octobre 2009
    Messages
    671
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2009
    Messages : 671
    Points : 842
    Points
    842
    Par défaut
    On peut avoir la fonction GetNbLigneMotCompact

  14. #94
    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
    voilà
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    int GetNbLigneMotCompact(MotCompact const * pc)
    {
     size_t iLigne=0;
     int nb=0;
     int    const *pcCoord=ligne_GetPremierC(pc,&iLigne);
     while(pcCoord!=NULL)
     {
         nb++;
         pcCoord=ligne_GetNextC(pc,&iLigne);
    }
    return  nb;
    }
    merci

  15. #95
    Expert éminent sénior
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 379
    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 379
    Points : 41 573
    Points
    41 573
    Par défaut
    Euh... Pourquoi recomptes-tu les lignes alors qu'on en a déjà mémorisé le nombre dans la structure MotCompact, lors de sa création?

  16. #96
    Membre éclairé
    Avatar de Pouet_forever
    Profil pro
    Inscrit en
    Octobre 2009
    Messages
    671
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2009
    Messages : 671
    Points : 842
    Points
    842
    Par défaut
    Pour ton warning je ne suis pas sûr mais je pense que ça doit venir (encore) du mot 'const'.

    Sinon une petite chose, en faisant ça des 2 free ne seront jamais exécutés :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    return  IM;
    free(mot1);
    free(mot2);
    Et 2 petites bricoles :

    1*) Je vois 'main.c|1493|', alors je me pose la question de savoir si tu connais la programmation modulaire ?
    Parce que tout avoir dans un seul fichier n'est pas forcement le top, et surtout quand on commence à avoir beaucoup de lignes de code
    Ca permet d'avoir un code bien organisé (et ça évite de scroller)

    2*) Il faudrait que tu penses à bien indenter ton code, ça t'aiderai (et nous) à la lecture du code

  17. #97
    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
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    struct st_motCompact
    {
    	int nbTermes;
    	int nbLignes;
    	int *pLignes;
    	char const *sczMot;
    };
    je fais donc m1->nbLignes;
    ??
    Encore une erreur
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    if(CompterToutesTablesFichBinaire1fr(&pTailles1, &nbCaracs1, &nbLignes1)<0)
    se/main.c|1701|attention : pointer targets in passing argument 3 of ‘CompterToutesTablesFichBinaire1fr’ differ in signedness
    ca veut dire quoi cette erreur ?

+ Répondre à la discussion
Cette discussion est résolue.
Page 5 sur 5 PremièrePremière 12345

Discussions similaires

  1. [MySQL] Créer un tableau à partir d'une base de données
    Par barakobama95 dans le forum PHP & Base de données
    Réponses: 15
    Dernier message: 30/09/2013, 16h58
  2. Créer un array à partir d'une table
    Par FanFan44 dans le forum Débutez
    Réponses: 4
    Dernier message: 14/06/2013, 17h50
  3. [MySQL] Créer un tableau à partir d'une requete SQL
    Par extream dans le forum PHP & Base de données
    Réponses: 14
    Dernier message: 02/06/2013, 20h11
  4. Réponses: 1
    Dernier message: 17/04/2013, 20h00
  5. [MySQL] créer un tableau à partir d'une base de donnée
    Par bastien dans le forum PHP & Base de données
    Réponses: 4
    Dernier message: 21/01/2009, 15h03

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