Lisez bien la FAQ. Pour poster un message ou poser une question, vous devez être enregistré. Vous n'êtes pas obligé d'être connecté pour lire les messages et voir les contenus.
Nous espérons que vous trouverez vos réponses ici, et n'hésitez pas à participer.
Bonne visite !
Sur ces forums, il est possible d'aborder n'importe quels sujets, de façon sérieuse ou pas !
Afin de préserver son harmonie et éviter les débordements, nous avons établi un ensemble de règles très simples que nous vous demandons de respecter.
1) Les thèmes suivants ne doivent jamais être abordés: La politique, La religion, La haine raciale, La pédophilie. Faites appel à votre bon sens pour éviter tout autre sujet susceptible de provoquer une polémique trop violente.
2) Ce forum est destiné à l'Abandonware (jeux a l'abandon) et le jeu vidéo. Les discussions ou liens vers un contenu illégal (piratage, désinformation, complotisme...), ou vers des contenus adultes, financiers, religieux... seront systématiquement effacés.
3) Ne publiez pas d'images dans vos messages qui pourraient choquer les autres visiteurs (rappel, le public peut être très jeune).
4) Lorsque vous lancez un sujet, veillez à ce qu'il soit dans le forum approprié (ne faites pas par exemple une requête dans le forum Discussion générale / Le bar des amis).
5) Il est souhaitable de ne pas faire dévier un sujet, ne serait-ce que par respect pour celui ou celle qui a lancé la discussion.
6) Avant de poser une question d'ordre (technique, requêtes...), assurez-vous qu'elle n'ait pas déjà été posé via la recherche.
6) Nous détestons le SPAM et le Flood ! Évitez donc de poster des messages inutiles et de façon répétée.
7) Peace and Love ! Les forums sont un endroit de détente, amusez-vous, ne vous prenez pas la tête inutilement en public.
8) Les administrateurs et modérateurs sont présents pour s'assurer que les règles et les personnes soient respectées. Leurs décisions sont elles-mêmes à respecter.
9) Ce forum n'est pas un téléphone portable ! Un forum est un lieu où on prend le temps, donc évitez le langage "texto/SMS". De plus, vos messages ne sont pas limités à 160 caractères, alors s'il vous plait, écrivez correctement ! Clairement, on ne va pas vous tomber dessus pour un "s" oublié ou pour un accord incorrect, mais pas de "g chrché c je pandan dé mwa"! Copiez-collez votre message dans Word pour profiter du correcteur orthographique, au besoin.
Ces règles sont très importantes, merci de les respecter ! En cas de non-respect, vous pourrez recevoir un avertissement, ou en fonction de la faute, être banni temporairement, voir définitivement du forum.
Merci à vous et bonnes discussions
oui j'ai un exam mardi ap midi et je ne comprends pas un truc sur les pointeurs :
c'est cette histoire de liste chainée, quand on en cree une et qu'on veut faire appelle a la valeur "suivant" que se passe t-il en fait ?
j'explique
voici la déclaration
type t_lien = ^t_element;
t_element = record
nom : string;
age : integer;
suivant : t_lien;
end;
var liste : t_lien;
procedure creation (var liste:t_lien);
var nomlu :string;
agelu :integer;
courant : t_lien;
begin
repeat
{là y'a le programme qui demande d'entrer les noms et ages}
courant^.age=agelu;
courant^.nom=nomlu;
courant^.suivant = Liste;
Liste = courant;
{c'est ces deux dernières lignes que je ne comprends pas.}
until length(nom) = 0;
Voilà si quelqu'un sait m'expliquer (sans qu'il se prenne trop la tete non plus) ça m'aiderait bien. paske là sur cet exemple je saurais le refaire en par coeur mais pendant l'exam...
J'ai modifié un truc faux dans mon exemple alors du coup si vous captez pas les deux posts suivant (aaargh encore un suivant !!) c'est normal [img]/forum/images/smiles/icon_wink.gif[/img]
<font size=-1>[ This Message was edited by: Mr Dus on 2001-06-10 18:02 ]</font>
<font size=-1>[ This Message was edited by: Mr Dus on 2001-06-10 18:04 ]</font>
Ca fait (très) longtemps que j'ai pas fait de Pascal (peut-être 15 ans), mais bon, je vais quand même essayer de comprendre...
Normalement le membre "suivant" doit te faire pointer sur une autre cellule. Par contre dans ton exemple il manque la déclaration de "debut". Il faudrait que tu la recherches dans ton exemple pour aller un peu plus loin...
Quick to judge, quick to anger, slow to understand
Ignorance and prejudice and fear walk hand in hand
ha pardon c'est pas debut c'est liste (je l'avais changé dans mon exemple paske debut je trouve ça nul et zarbi dans ce [img]/forum/images/smiles/icon_smile.gif[/img]
Bon alors je me lance... Excuses moi d'avance si je dis des conneries et que je te fais louper ton devoir, je ne sais plus comment le Pascal gère les allocations. Le mieux pour comprendre c'est peut-être d'y aller pas à pas. "courant" contient la cellule que tu es en train de construire, "liste" ta liste complète.
au début :
courant=NULL
liste=NULL
1ère itération :
courant->age=AGE1
courant->nom=NOM1
courant->suivant=NULL {valeur de liste)
Puis tu fais liste=courant donc
liste->age=AGE1
liste->nom=NOM1
liste->suivant=NULL {valeur de liste)
A la fin de la 1ère itération liste et courant sont donc égales (la liste = sa première cellule)
Donc si je schématise
courant->age=AGE2
courant->nom=NOM2
courant->suivant->age=AGE1
->nom=NOM1
->suivant=NULL
en faisant courant->suivant=liste tu viens de "chainer" ta nouvelle cellule "courant" à ta liste de cellule "liste". "courant" est maintenant une liste aussi, contenant 2 cellules, celle que tu viens de construire et celle contenue dans "liste".
Quand tu fais liste=courant tu mets dans "liste" tes deux cellules.
Les itérations suivantes fonctionnent de la même façon : "courant" te permet de créer une nouvelle cellule et de la chainer à ta liste, puis liste=courant recopie toute la structure de "courant" dans "liste" de façon à ce que tu puisse réutiliser "courant" pour une nouvelle cellule.
J'espère que je t'ai pas trop embrouillé et surtout que j'ai pas dit de bêtises [img]/forum/images/smiles/icon_wink.gif[/img]
Quick to judge, quick to anger, slow to understand
Ignorance and prejudice and fear walk hand in hand
Mamammia j' ai rien compri!
Enfin bon C un peu normal mais ça quand meme l' air carrément chaud!
Bonne chance pour tes exams Mr Dus [img]/forum/images/smiles/icon_smile.gif[/img] <!-- BBCode Start --><IMG SRC="http://cwm.ragesofsanity.com/cwm/cwm/silly.gif" BORDER="0"><!-- BBCode End -->
<font size=-1>[ This Message was edited by: galaan on 2001-06-10 20:11 ]</font>
:bigjunk: [i]J' ai atteint une totale liberté cosmique vers un nouvel age réminiscent[/i] :bigjunk:
Donc si je comprends bien la cellule vide ne se trouve pas apres comme je le croyais mais avant les ittérations ?
En tout cas je te remercie thierry c'est suffisament clair pour que j'ai compris le fonctionnement (et c'est pas un luxe [img]/forum/images/smiles/icon_smile.gif[/img] )
j'ai aussi peur qu'il y ai un truc genre Liste^.précédent mais je pense que ça ne doit pas être bien différent.
enfin merci encore [img]/forum/images/smiles/icon_smile.gif[/img]
Ps: merci pour tes encouragements Galaan [img]/forum/images/smiles/icon_smile.gif[/img]
Oui, c'est ça, la cellule "courant" se retrouve toujours en première position quand tu la chaînes à la liste (courant->suivant=liste)
Pour la liste doublement chaînée (avec precedent), ça doit être presque pareil. L'avantage c'est que les déplacements sont plus rapides, tu peux reculer quand tu parcours la liste, tandis qu'avec ton premier exemple (liste chaînée simple), pour aller rechercher un élément tu dois toujours partir du premier élément, et parcourir les autres par l'intermédiaire de "suivant".
Quand tu veux comprendre un algo un peu compliqué je te conseille de faire des dessins et de regarder pas à pas comment ça se passe.
Bonne chance !
Quick to judge, quick to anger, slow to understand
Ignorance and prejudice and fear walk hand in hand
Nous collectons des données personnelles sur notre site, à travers l'utilisation des cookies ainsi que d'autres technologies, pour vous fournir nos services, des publicités personnalisées et pour analyser le trafic. Nous pouvons être amené à partager certaines informations avec les partenaires publicitaires et d'analyse. Pour plus de détails, veuillez consulter la politique de confidentialité.
En cliquant sur « J'accepte » ci-dessous, vous acceptez notre politique de confidentialité ainsi que la collecte de données personnelles et l'utilisation de cookies comme décrit. Vous reconnaissez aussi que ce forum peut être hébergé en dehors de votre pays de résidence et que vous consentez à la collecte, le stockage et l'utilisation de vos données dans le pays où ce forum est hébergé.
Commentaire