Mam taki kod
program lista;
uses crt;
type
TWskaznik = ^TElement;
TElement = record
Imie,Nazwisko: string[20];
Dlug: integer;
Nastepny:TWskaznik;
end;
var
co,temp:TWskaznik;
Imie,Nazwisko:string;
Dlug,pytanie,ktory:integer;
Glowa:TElement;
poz,i:byte;
label
pocz,dodawanie,wyswietlanie,usuwanie,wszystko,liczba,koniec;
procedure Dodaj(Imie,Nazwisko:string;Dlug:integer);
var temp:TWskaznik;
begin
new(temp);
temp^.nastepny:=glowa.nastepny;
glowa.nastepny:=temp;
temp^.Imie:=Imie;
temp^.nazwisko:=Nazwisko;
temp^.dlug:=dlug;
poz:=poz+1;
end;
procedure Usun(co:TWskaznik);
var temp:TWskaznik;
begin
temp:=@glowa;
while temp^.nastepny<>co do temp:=temp^.nastepny;
temp^.nastepny:=temp^.nastepny^.nastepny;
end;
procedure Wyswietl;
var temp:TWskaznik;
begin
temp:=glowa.nastepny;
while temp<>nil do
begin
writeln(temp^.imie+' '+temp^.nazwisko+' winien ',temp^.dlug);
temp:=temp^.nastepny;
end;
end;
begin
pocz:
clrscr;
writeln;
writeln('Lista wpisow');
wyswietl;
writeln;
Writeln('0 - dodawanie elementu');
writeln('1 - usuwanie elementu');
writeln('2 - wyswietlanie');
writeln('3 - usun wszystko');
writeln('4 - ilosc wpisow');
writeln('5 - koniec');
readln(pytanie);
if pytanie=0 then goto dodawanie;
if pytanie=1 then goto usuwanie;
if pytanie=2 then goto wyswietlanie;
if pytanie=3 then goto wszystko;
if pytanie=4 then goto liczba;
if pytanie=5 then goto koniec;
dodawanie:
writeln;
writeln('Lista wpisow');
wyswietl;
writeln;
writeln('Podaj imie');
readln(Imie);
writeln('Podaj nazwisko');
readln(Nazwisko);
writeln('Podaj dlug');
readln(Dlug);
dodaj(Imie,Nazwisko,Dlug);
writeln;
writeln('Lista wpisow');
wyswietl;
readln;
goto pocz;
usuwanie:
writeln;
writeln('Lista wpisow');
wyswietl;
writeln('Ktora pozycje usunac?');
readln(ktory);
temp:=Glowa.nastepny;
inc(temp,ktory);
usun(temp);
readln;
goto pocz;
wyswietlanie:
writeln;
writeln('Lista wpisow');
wyswietl;
readln;
goto pocz;
wszystko:
writeln;
for i:=1 to poz do
begin
temp:=Glowa.nastepny;
usun(temp);
end;
poz:=0;
readln;
goto pocz;
liczba:
writeln;
writeln('Liczba wpisow: ',poz);
wyswietl;
readln;
goto pocz;
koniec:
writeln('Koniec programu');
end.
Chodzi mi o zrobienie procedury ktora usuwa dowolny element z listy, oraz procedury ktora dodaje w dowolnym miejscu wpis. Pomozcie
Z gory dzieki.
gg:2656565
michael_me@o2.pl