Skocz do zawartości

Kolejka


Miszcz

Rekomendowane odpowiedzi

Witam, mam taka procedure która tworzy i dodaje elementy do kolejki.

 

procedure dodaj(var pocz,koniec : lista);
var
imie :string[20];
nazwisko: string[30];
wiek:byte;
pesel: string[10];
nowa: lista;


begin

   writeln('Podaj imie');
   readln(imie);
   writeln('Podaj nazwisko');
   readln(nazwisko);
   writeln('Podaj wiek');
   readln(wiek);
   writeln('Podaj pesel');
   readln(pesel);

   new(nowa);
   nowa^.imie:=imie;
   nowa^.nazwisko:=nazwisko;
   nowa^.wiek:=wiek;
   nowa^.PESEL:=pesel;
   nowa^.wsk:=nil;

//CHODZI O TEN TU FRAGMENT

 if (pocz = nil ) then
 begin
   new(pocz);
   new(koniec);
   Pocz := nowa;
 end
   else koniec^.wsk := nowa;
   koniec := nowa;

//////////////////////////////

end;  

 

Nie za bardzo rozumuje jak to funkcjonuje. Za pierwszym wejsciem "Pocz" przypisuje "Nowa", której wskaznik na nastepny element(nowa^.wsk) wynosi nil.

I tu nie ogarniam dlaczego pózniej po dodaniu kolejnego elementu, Pocz(Pocz^.wsk) wskazuje na nastepny element!? Przeciez jego wskaznik na nastepny wynosi nil? Wiec jakim cudem to sie zmienia?

 

Jezeli ktos rozumie jak to dziala to prosze o wytlumaczenie.

Odnośnik do komentarza
Udostępnij na innych stronach

Wklej więcej kodu to wtedy będzie można to wytłumaczyć. Ogólnie jeśli dobrze widzę to przekazujesz do procedury koniec, więc jeśli to jest wywołane dla kolejnego elementu to ta zmienna ma jakąś wartość. Ciężko to wytłumaczyć nie widząc reszty kodu. Sama procedura to za mało.

Odnośnik do komentarza
Udostępnij na innych stronach

Ale Turbo Pascal / Delphi? Na litość wszystkich bogów... Dobra rada nie wgłębiaj się za daleko w ten język, nikt poważny w nim nie programuje. Zdaj co masz zdać i przejdź na Jave, C++ albo jakiś skryptowy Python na przykład.

  • Upvote 1
Odnośnik do komentarza
Udostępnij na innych stronach

Tjam, skądś to znam. Jakaś szycha na uni albo polibudzie zna tylko to, więc wymusza na reszcie ludzi programowanie w tym choć to badziew do niczego nie przydatny.

Odnośnik do komentarza
Udostępnij na innych stronach

Jeśli chcesz dodać odpowiedź, zaloguj się lub zarejestruj nowe konto

Jedynie zarejestrowani użytkownicy mogą komentować zawartość tej strony.

Zarejestruj nowe konto

Załóż nowe konto. To bardzo proste!

Zarejestruj się

Zaloguj się

Posiadasz już konto? Zaloguj się poniżej.

Zaloguj się
×
×
  • Dodaj nową pozycję...