accès aux groupes de discussion, consultation et publication d'articles, recherche de "newsgroups"...
membres, identifiez-vous
é-mail Mot de passe
nouveau ? mot de passe oublié ?
Chargement... Chargement en cours...

Groupes français belges canadiens suisses internationaux Nétiquette
Échangez opinions et commentaires dans les forums de discussion.

Re: Question à propos des listes chaînées

 [  Nouvelle Discussion Nouvelle discussion  |  Répondre au groupe Répondre au groupe  |  fr.comp.lang.ada ] 

Retour : Accueil du site fr comp lang ada   charte stats de ce groupe


  Sujet:   Re: Question à propos des listes chaînées  
 De: animatri...@gmail.com
 Groupes: fr.comp.lang.ada
 Organisation: http://groups.google.com
 Date: 09. Mar 2008, 06:29:37
 References: 1 2 3
On 8 mar, 22:25, animatri...@gmail.com wrote:
> On 8 mar, 21:59, Gautier <gaut...@fakeaddress.nil> wrote:
>
>
>
>
>
> > animatri...@gmail.com wrote:
> > >>>> Est-ce que ton insertion en tête ne concerne qu'un seul élément ?
> > >>>> Est-ce que la liste est vide ou non au départ ?
>
> > > Oui, elle ne concerne qu'un élément (le reste est inséré un peu plus
> > > tard).
> > > La liste est vide au départ.
>
> > >>> Si ta liste est non définie, LC est contient une adresse bidon et c'est
mal parti.
> > >>> Si l'élément a doit être le 1er de la liste, il manque encore: LC:= a .
>
> > > DC := LC;
> > > allouer(a);
> > > a.el = unedonneevalide;
> > > a.suiv := LC;
> > > LC := a;
> > > DC := a.suiv;   -- nécessaire pour ajouter la suite
>
> > >>> Il manque: allouer(a);
>
> > > allouer(a);
> > > a.el := unedonne;
> > > a.suiv := DC.suiv;
> > > DC.suiv := a;
> > > DC := DC.suiv;
> > > a.suiv := DC;
>
> > ^ hum, là tu fais: a.suiv:= a...
>
> > > J'ai un access check failed sur a.suiv := DC.suiv; (que j'avais tout
> > > de même sans le allouer(a))
>
> > C'est compréhensible, puisque dans la 1ère phase tu as mis (à deux reprises!)
> > dans DC l'adresse LC d'avant "LC:= a;" qui n'était pas alloué (=null ou
adresse
> > aléatoire)...
> > Si tu sais que ta liste doit être vide au départ, pourquoi ne pas commencer
par
>
> > allouer(LC);
> > LC.el := unedonneevalide;
> > LC.suiv:= null;
> > DC:= LC;
>
> > ______________________________________________________________
> > Gautier         --http://www.mysunrise.ch/users/gdm/index.htm
> > Ada programming --http://www.mysunrise.ch/users/gdm/gsoft_fr.htm
>
> > NB: For a direct answer, e-mail address on the Web site!
>
> Merci.
> Pour l'ajout à la suite, j'ai fait un
>
>                         allouer(a);
>                         a.el := unedonnee;
>                         a.suiv := DC.suiv;
>                         DC.suiv := a;
>                         DC := DC.suiv;
>
> Et ca marche :)
> Par contre, j'aimerais pouvoir supprimer les deux derniers éléments de
> la séquence.
> Comment faire sachant, que je n'ai pas un DC.prec ?
>
> Il faut que je recherche l'emplacement ?
>
> Merci pour l'aide- Masquer le texte des messages précédents -
>
> - Afficher le texte des messages précédents -

Bonjour,

J'aimerais copier une liste dans une autre, voila ma procedure :

procedure Copie_Liste (LC1 : in out adresse; LC2 : out adresse) is

		a : adresse;
		b : adresse;

	begin
		while LC1 /= null loop

		allouer(LC2);
		LC2.el := LC1.el;
		LC2.suiv := LC1.suiv;
		LC1 := LC1.suiv;
		LC2 := LC2.suiv;

		end loop;
	end Copie_Liste;

Sauf que cela ne marche pas, d'où l'erreur pourrait-elle venir ?

En vous remerciant.


DateSujet  Auteur
08.03.
* Question à propos de
animatrix30
08.03.
`* Re: Question à propos de
Gautier
08.03.
 `* Re: Question à propos de
animatrix30
08.03.
  `* Re: Question à propos de
Gautier
08.03.
   `* Re: Question à propos de
animatrix30
09.03.
    `*   Re: Question à propos de
animatrix30
09.03.
     `* Re: Question à propos de
Gautier
09.03.
      `* Re: Question à propos de
animatrix30
10.03.
       `* Re: Question à propos de
Anthony Gelibert
10.03.
        `* Re: Question à propos de
animatrix30
10.03.
         `* Re: Question à propos de
Anthony Gelibert
11.03.
          `- Re: Question à propos de
animatrix30
Groups Explorer contact votre avis comment ça marche? rechercher un groupe suggérer un groupe abuse accueil du site   Imprimer cette page   Envoyer cette page à un(e) ami(e)