Helppppppppppppp code en C

Bonjour,

j'ai un probleme au nivaeu de cette fonction.
quand je fait le run, ca na ffiche pas la fenetre d'execution
quelqun peut maider SVP
merci
void elaguer2seq(Liste *seq){
   
      Liste **TableHash; 
      Liste *p;
      for(p=TableHash[0];p!=NULL;p=p->suivant)
      {
       printf("%s", p->mot);}     
     }
Configuration: Windows XP
Internet Explorer 7.0

6 réponses

  • Votes
  • Date
  • Date décroissante
  1. Salut,

    Je n'y connais rien au List. Le seul truc qui je trouve bizarre c'est que tu ne mette rien dans TableHash et dans mot.
    Peut être qu'il est égal à null tout le temps?
    Mais surtout comme dit kazouu, que fait-tu avec ton char* mot?

    Tu ne le mets pas à jour.Le %s du printf et assez instable (enfin a chaque fois que je l'utilise je suis peut être pas très doué :) ).
    Et il s'agit d'un élément de la List p? (p-> ... )?
    1. je suis pa fort en C
      mais il me senble que tu a oublier ton

      main()
      1. lol.
        tres bonne reponse, mais pas pour un programmeur , sinon comme le compilateur va compiler?!!!!!!!!!!!!!!!!!!!!!!!!
      2. voila la fonction qui parcoure une liste chainée et un hashtable, pour afficher a chaque fois le contenu de la liste chainéé

        void elaguer2seq(Liste *L){
          Liste *p;
          Liste *q;
          char *mot;
          Liste *TableHash;
          for(p=L;p!=NULL;p=p->suivant){
            
              for(q= TableHash ;q!=NULL;q=q->suivant){    
                     printf ("%s", p->mot);
                     
                     }                    
          }
        }


        merci
    2. si tu code sous deev C++ il faut mettre un
      system("pause");
      avant tout return 0 dans ton main
      1. bjr kaoo, mais le probleme n'est pas là, c'est au niveau de ma fonction, car quand je l'enleve tt marche nikel
    3. Contributeur
      exact, tu ne défini pas TableHash. Et comme tu fais q=TableHash, ça pose un problème.

      Tu peux très bien compiler un fichier sans main au fait ! (c'est d'ailleurs la majorité des fichiers)
      1. Bonjour,
        jai developpé une fonction en C et qui bug: ua pas mal d'erreurs!!! 4 erreurs.
        cettefonction prend en entree un mot et une liste chainée et doit verifier que le mot en entréé verifie la condition d'inclusion pour tous les sequence des mots qui sont dans une liste chainée.
        la fonction de verification marche nikel pour 1 mot et 1 seq
        mais quand je la fait tourner pour tte une liste cacause un pb.
        merci
        je compte sur vous.

        int chercher_mot(const char *phrase,const char *mot){
            int last;
            const size_t size = strlen(mot);
            char *find = strstr(phrase,mot);
            char *p;
            
            while(find){
                // le mot a été trouvé, mais est ce le dernier mot ?
                if(strlen(find) == size) return 1;
                else{ // le mot est peut être en dernière position mais suivi de caractères autre que des mots (ponctuation...)
                    last = 1; // 1 si mot est bien le dernier dans la séquence, 0 sinon
                    for(p = &(find[size]);*p != '\0';++p){
                        if (isalpha(*p)){ // on a trouvé un caractère alphanumérique derrière donc ça ne va pas
                            last = 0;
                            break;
                        }
                    }
                    // le mot n'est pas suivi de caractère alphanumérique donc c'est bon
                    if (last) return 1;
                }
                find = strstr(&(find[1]),mot);
            }
            return 0;
        }
        
        
        
        
        int verifCondition2seq(char *mot, Liste *seq)
        {
            if(seq==NULL)
            return 0;
            Liste tmp = *seq;
            while(tmp != NULL)
            {
                      if(chercher_mot(tmp->mot, mot)
                      return 1;
                      printf ("ok");
                      tmp=tmp->suivant;
             }  
             return 0;
        }