Muszę na jutro napisać program w pascalu do którego podajemy parę imion i ten program wyświetla je w kolejności alfabetycznej. Bardzo proszę o pomoc.
Dokładnie polecenie jest takie - w liscie dodaj funkcje wstaw_imie polegajacej na wklejaniu do listy pobranych z klawiatury imion i wyswietlanie i na ekranie w porzadku alfabetycznym
A tyle już napisałem:
Kod:
program Lista;
type
typ_danych=string;
wsk_listy = ^element_listy;
element_listy = record
dane:typ_danych;
nastepny:wsk_listy
end;
var
pocz_listy:wsk_listy;
d:typ_danych;
i:integer;
Function LRozmiar(Start : wsk_listy) : integer;
Var
Wynik : Word;
Begin
Wynik:=0;
While Start<>Nil Do
Begin
Start:=Start^.nastepny;
Inc(Wynik);
End;
LRozmiar:=Wynik;
End;
Function LAdres (Start : wsk_listy; pos : integer) : wsk_listy;
var
i: integer;
begin
for i:=2 to pos do
begin
if Start <> nil then
Start:=Start^.nastepny;
end;
LAdres:= Start;
end;
Function LDodaj(var Start : wsk_listy; pos :integer; data :
typ_danych):boolean;
var
tmp:wsk_listy;
nowy:wsk_listy;
begin
if Start <> nil then
if pos <= LRozmiar(Start) then
begin
tmp:= LAdres(Start,pos);
new(nowy);
nowy^.dane:=data;
nowy^.nastepny:=tmp^.nastepny;
tmp^.nastepny:=nowy;
LDodaj:=true;
end
else
LDodaj:=false
else
begin
new(nowy);
nowy^.dane:=data;
nowy^.nastepny:=nil;
Start:=nowy;
LDodaj:=true;
end;
end;
Function LUsun(var Start : wsk_listy; pos :integer; var data :
typ_danych):boolean;
var
tmp: wsk_listy;
prev: wsk_listy;
begin
if Start <> nil then
begin
if pos = 1 then
begin
tmp:=Start^.nastepny;
data:=Start^.dane;
dispose(Start);
Start:=tmp;
LUsun:=true;
end
else if pos <= LRozmiar(Start) then
begin
prev:= LAdres(Start,pos-1);
tmp:=prev^.nastepny;
prev^.nastepny:=tmp^.nastepny;
data:=tmp^.dane;
dispose(tmp);
LUsun:=true;
end
else
LUsun:=false
end
else
LUsun:=false;
end;
procedure Wyswietl(pocz:wsk_listy);
begin
while pocz <> nil do
begin
writeln('Element = ',pocz^.dane);
pocz:=pocz^.nastepny;
end;
end;
begin
pocz_listy:=nil;
for i:=1 to 4 do
begin
writeln('Wpisz imie');
readln(d);
Ldodaj(pocz_listy,LRozmiar(pocz_listy),d);
end;
Wyswietl(pocz_listy);
readln;
end.
powiedzcie co tu zmienić , dodać , jakąś wskazówkę