Duży problem z Lista jednokierunkowa

0

Jak by znalazła się dobra, która by mi wytłumaczyła jak przesunąć wskaźnik listy na sam koniec
oto mój kod :

 

program mojalista;


TYPE wsk = ^student;
student = record

   nazwisko : string;
   liczbasex : integer;
   nastepny : wsk;

end;

var
head : wsk;


procedure dodajelem(head : wsk; nazwisko : string;  ilosc : integer);
var
   ostatni : wsk;
   tmp : wsk;


begin

  if head = nil then
  begin

        writeln('Lista jest pusta, spox tworze nowy element');
        new(ostatni);
        ostatni^.nazwisko := nazwisko;
        ostatni^.liczbasex := ilosc;
        ostatni^.nastepny := nil;
        head = ostatni;
  end
  else
  (*gdy lista nie jest pusta*)
  begin
  (*przejscie na sam koniec listy*)
  while head^.next <> nil do
  begin

        head^.next= head^.next+1; (* niewiem jak to zapisać :-(( *)

  end;
  new(ostatni);
  ostatni^.nazwisko := nazwisko;
  ostatni^.liczbasex := ilosc;
  ostatni^.next := nil;

  end;

end;



BEGIN

   head := nil;
   dodajelem(head, "macdonald", 0);



END.



Dziękuje !!

0

[code]
head.next= head.next+1; (* niewiem jak to zapisać :-(( *)
[/code]
Na:
[code]
head:=head^.next;
[/code]
Chyba coś w tym stylu... naucz się podstaw z zakresu wskaźników i mózgologii.

EDIT: Dla potomnych - ten kod nie ma prawa działać... Kupa błędów

1 użytkowników online, w tym zalogowanych: 0, gości: 1