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

Turbo Pascal Discussion :

[TP 7] Problème avec les listes chaînées (error 202)


Sujet :

Turbo Pascal

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 4
    Par défaut [TP 7] Problème avec les listes chaînées (error 202)
    Bonjour,

    d'abord
    >J'utilise TP7
    >Je débute ^^

    Mon problème: ce code ne renvoie pas toujours la même chose:

    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
    type
      liste=^mots;
      mots=
      record
        contenu:string;
        suiv:liste;
      end;
     
    procedure ajoutemot(i:string; var l:liste);
    begin
      if l=nil then
      begin
        new(l);
        l^.contenu:=i;
      end
      else begin
        ajoutemot(i,l^.suiv)
      end
    end;
     
    var l:liste;
     
    begin
      ajoutemot('yop',l);
      writeln(l=nil);
      writeln(l^.suiv=nil);
      ajoutemot('yep',l);
      writeln(l^.contenu);
      writeln(l^.suiv^.contenu);
    end.
    Ce code, comme vous le constatez, ne prend rien en entrée (j'ai fait ce programme juste pour tester la procédure).

    Voici le problème: il n'écrit pas toujours la même chose, et je ne comprend pas pourquoi:
    Première éxécution il écrit:
    FALSE
    TRUE
    yop
    yep
    Deuxième éxécution:
    FALSE
    FALSE
    yop
    yep
    Troisième éxécution: error 202:stack overflow error

    La procédure, vous l'aurez compris, sert à ajouter un mot à la liste (chainée) de mots.

    Pouvez vous me dire où est l'erreur?
    Et tant qu'à faire, pouvez vous me donner une procédure qui marche?

    Merci beaucoup

    thelinekioubeur

  2. #2
    Membre émérite
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    633
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2004
    Messages : 633
    Par défaut
    Bonjour,

    Il serait bon d'utiliser la balise [code] pour rendre ton code plus lisible (en pensant à l'indenter, si ce n'est pas fait).

    Sans aller très loin dans la lecture du code, et au vu des résultats aléatoires, je conclus : variable non initialisée.
    Comme tu utilises des pointeurs, je précise mon idée : pointeur non initialisé (c'est un oubli encore plus fréquent que pour les variables "ordinaires").

    Je jette donc un coup d'oeil rapide, et que vois-je ?

    Va voir.

  3. #3
    Futur Membre du Club
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 4
    Par défaut
    il faut juste que je rajoute un " l:=nil " ?
    Merci, j'essayerais ce soir.

  4. #4
    Membre émérite
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    633
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2004
    Messages : 633
    Par défaut
    Bonjour,
    Citation Envoyé par thelinekioubeur
    il faut juste que je rajoute un " l:=nil " ?
    Merci, j'essayerais ce soir.
    Je ne sais pas, je n'ai pas lu en détail, comme expliqué dans mon 1er message.

  5. #5
    Futur Membre du Club
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 4
    Par défaut
    Ben ça ne marche pas.

    Comment tu fait toi pour initialiser un pointeur?
    (oui jsuis un newb lol)

Discussions similaires

  1. problème avec les listes chaînées : suite
    Par ChPr dans le forum Langage
    Réponses: 11
    Dernier message: 18/09/2013, 10h08
  2. problème avec les listes chaînées.
    Par ChPr dans le forum Langage
    Réponses: 3
    Dernier message: 12/09/2013, 15h54
  3. Problème avec les listes chaînées
    Par Kawada dans le forum C
    Réponses: 2
    Dernier message: 06/05/2012, 17h20
  4. Problème avec les listes chaînées
    Par yous18 dans le forum C
    Réponses: 38
    Dernier message: 25/10/2007, 22h30

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