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

Langage Pascal Discussion :

Programme ne passe pas la compilation en Pascal


Sujet :

Langage Pascal

  1. #1
    Futur Membre du Club
    Inscrit en
    Août 2009
    Messages
    3
    Détails du profil
    Informations forums :
    Inscription : Août 2009
    Messages : 3
    Points : 5
    Points
    5
    Par défaut Programme ne passe pas la compilation en Pascal
    Bonjour,
    Je suis étudiant en informatique et j'ai un problème avec un exercice.
    Merci de votre aide.
    Vincent

    La question est :
    Ecrire la procédure FirstToEnd.
    Elle supprime le premier élément de la Liste L et l'ajoute à la fin de cette même liste. Si la liste est vide ou si elle ne contient qu'un seul élément, la procédure est sans effet.

    voici le code que j'ai écrit et qui ne passe pas à la compilation :
    (erreur du style : la mémoire ne peut pas être 'read')
    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
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    type
      PCellule = ^Cellule;
      Cellule = record
        valeur: integer;
        suivant: PCellule;
      end;
     
    procedure ajouter(var liste: PCellule; valeur: integer);
    var
      p: PCellule;
    begin
      new(p);
      p^.valeur := valeur;
      p^.suivant := liste;
      liste := p;
    end;
     
    procedure afficher(liste: PCellule);
    var
      p: PCellule;
    begin
      p := liste;
      while p <> nil do
      begin
        writeln(p^.valeur);
        p := p^.suivant;
      end;
    end;
     
    procedure vider(liste: PCellule);
    var
      p, r: PCellule;
    begin
      p := liste;
      while (p <> nil) do
      begin
        r := p^.suivant;
        dispose(p);
        p := r;
      end;
    end;
     
    Procedure FirstToEnd(Var liste:Pcellule); 
    Var p,x,y :Pcellule; 
          n :integer; 
    Begin 
            p:= liste;  
           if (p<> nil) and (p^.suivant <> nil) then 
           begin 
                  new(x); 
                  x^.valeur := p^.valeur;  
                  x^.suivant := nil;       
     
                  y := p^.suivant;       
     
                  dispose (p);           
     
                  while (y^.suivant <> nil)       
     
                     do  
                          y := y^.suivant; 
     
     
                         y^.suivant := x ; 
     
           end; 
    End; 
     
     
    var
      liste: PCellule;
      nombre: integer;
     
    begin
      writeln('Entrez les nombres à ajouter (0 pour quitter) : ');
      readln(nombre);
      while nombre <> 0 do
      begin
        ajouter(liste, nombre);
        readln(nombre);
      end;
      writeln('Valeurs de la liste : ');
      afficher(liste);
      firstToEnd(liste);
      afficher(liste);
      readln;
     
    end.

  2. #2
    Rédacteur/Modérateur
    Avatar de M.Dlb
    Inscrit en
    Avril 2002
    Messages
    2 464
    Détails du profil
    Informations personnelles :
    Âge : 39

    Informations forums :
    Inscription : Avril 2002
    Messages : 2 464
    Points : 4 311
    Points
    4 311
    Par défaut
    Citation Envoyé par ruizsmr Voir le message
    voici le code que j'ai écrit
    Euh... Voici le code que tu as en partie recopié plutôt non ? ( http://pascal.developpez.com/exercic...e=Sect9#point3 ).

    Comme je suis pas rancunier, un indice: tu ne mets pas à jour la variable liste à la fin de la procédure.
    M.Dlb - Modérateur z/OS - Rédacteur et Modérateur Pascal

  3. #3
    Futur Membre du Club
    Inscrit en
    Août 2009
    Messages
    3
    Détails du profil
    Informations forums :
    Inscription : Août 2009
    Messages : 3
    Points : 5
    Points
    5
    Par défaut
    Merci pour ton aide, j'ai trouvé l'erreur.
    Vincent

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 2
    Dernier message: 21/01/2015, 13h51
  2. J'arrive pas a compiler mon programme
    Par nkic22 dans le forum Fortran
    Réponses: 4
    Dernier message: 09/05/2012, 15h35
  3. [sqlExp.pas] : échec compilation
    Par PpPool dans le forum Bases de données
    Réponses: 12
    Dernier message: 11/05/2006, 10h50
  4. Envoi de mail [Hotmail : OK ; Wanadoo : Passe pas]
    Par NeoMan dans le forum Réseau
    Réponses: 14
    Dernier message: 28/07/2005, 10h52
  5. Sujet du mailto quine passe pas...
    Par Gourouni dans le forum ASP
    Réponses: 6
    Dernier message: 21/01/2005, 15h57

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