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 liste chainée


Sujet :

C

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Février 2007
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 7
    Par défaut problème liste chainée
    bonjour,

    voila mon probleme : j'ai une liste chainée définie comme ça :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     typedef struct noeud
    {
    int  cochonx; 
    int cochony; 
    int dead;
    struct noeud * suivant;
    } * COCHON;
    ça marche très bien. seulement, je voudrais ajouter 2 variables à ma structure, c'est à dire l'écrire comme ça :


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     typedef struct noeud
    {
    int  cochonx; 
    int cochony; 
    int dead;
    int xpre;
    int ypre;
    struct noeud * suivant;
    } * COCHON;
    et là ça compile, mé à l'execution j'obtient un bus error.
    Y a t il un nombre max de variable ? ou cela proviendrait il de mon programme ?
    merci !

  2. #2
    Membre émérite Avatar de crocodilex
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    697
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 697
    Par défaut
    Le problème ne vient pas de là. Il faut nous montrer ton code...

  3. #3
    Membre émérite Avatar de stephl
    Profil pro
    Développeur informatique
    Inscrit en
    Février 2007
    Messages
    643
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Février 2007
    Messages : 643
    Par défaut
    Citation Envoyé par jonjon83
    Y a t il un nombre max de variable ?
    Non
    ou cela proviendrait il de mon programme ?
    A priori oui.

  4. #4
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Février 2007
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 7
    Par défaut
    en fait le programme est assez long... donc le montrer sa prendrait des pages et des pages.
    je pense que ça doit venir d'un parcourt de ma liste douteux.
    je me penche la dessus.
    si vous avez des pistes elles sont les bienvenues
    merci encore

  5. #5
    Rédacteur/Modérateur
    Avatar de Trap D
    Profil pro
    Inscrit en
    Septembre 2003
    Messages
    4 942
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2003
    Messages : 4 942
    Par défaut
    Dans le cas d'une modif aussi importante de la structure, et vu la longueur, (et le partage du code en différents fichiers ?) il est peut-être utile de faire une recompile complète du programme.
    "La haine seule fait des choix" - Koan Zen
    "Il ne faut pas être meilleur que les autres, il faut être meilleur que soi." Albert Jacquard
    "Ceux qui savent où ils ont posé leur parapluie ne sont pas alcooliques." - pgibonne.
    Faites du Prolog, ça vous changera les idées !
    Ma page Prolog
    Mes codes sources commentés

    Mon avatar : La Madeleine à la veilleuse de Georges de La Tour

  6. #6
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Février 2007
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 7
    Par défaut
    effectivement mon programme est en plusieurs fichiers .c et plusieurs header .h, mais j'utilise un makefile pour compiler, et donc tout le projet est recompilé à chaque fois.
    je ne pense donc pas que se soit un probleme du à la compilation

  7. #7
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Février 2007
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 7
    Par défaut
    je pense que le probleme se situe dans une de ces 2 fonctions, mais je ne sais pas si c'est très compréhensible une fonction toute seule comme ça :

    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
    void deplacecochon(COCHON cochonpara)
    {
      COCHON cochontemp = malloc(sizeof(COCHON));
      cochontemp = cochonpara;
     
      while(cochontemp != NULL) 
      { 
     
    	if(cochontemp->dead == 0)
    	{
    	if (cochontemp->cochonx >loup.loupx)cochontemp->cochonx = cochontemp->cochonx-20;
    	if (cochontemp->cochonx <loup.loupx)cochontemp->cochonx = cochontemp->cochonx+20;
    	if (cochontemp->cochony >loup.loupy)cochontemp->cochony = cochontemp->cochony-20;
    	if (cochontemp->cochony <loup.loupy)cochontemp->cochony = cochontemp->cochony+20;		
    	}
    	cochontemp=cochontemp->suivant;
      }
      printcochon(cochon);
    }
    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
     
    void printcochon(COCHON cochonpara)
    {
      int b = 0;
     
      COCHON cochontemp = malloc(sizeof(COCHON));
      cochontemp = cochonpara;
      SetFgColor(Z0,GetRGBColor(0,0,255));/*fonction de la librairie libsx*/
     
      colisioncochon(cochontemp);
      while(cochontemp != NULL) 
      {
    	if(cochontemp->dead == 0)
    	{
    	b = 1;
    	DrawText("PIG",cochontemp->cochonx,cochontemp->cochony);	/*libsx*/	
    	}
    	else
    	{
     
    	/* 20 est la taille de la case*/
    	DrawFilledBox(cochontemp->cochonx-X0,cochontemp->cochony-Y0,20 ,20); /*libsx*/
    	}
    	cochontemp=cochontemp->suivant;
      }
     
      if(b==0) /*si tous les cochons sont morts*/
      {
      draw();
      initloup(loup.nbvie);
      initcochon(nbcochon=nbcochon*2);
      niveau++;
      affniv (niveau);
      }
     
    }
    est ce que quelque chose vous choque ?

Discussions similaires

  1. un petit problème : listes chainés
    Par anes-saad dans le forum C
    Réponses: 2
    Dernier message: 06/05/2011, 23h27
  2. Problème listes chainées
    Par ben54120 dans le forum Débuter
    Réponses: 16
    Dernier message: 28/10/2009, 19h05
  3. Problème Listes chainées Structure contenant
    Par loco_info dans le forum C
    Réponses: 3
    Dernier message: 17/05/2007, 13h08
  4. Problème Liste chainée
    Par skyangel dans le forum C++
    Réponses: 16
    Dernier message: 07/06/2006, 13h14

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