Кину описание и 2 процедуры сортировки,с которыми у меня проблема.
Желательно сделать сортировку пузырьком,что я и пытаюсь сделать.То есть у меня будут 2 процедуры,
я выберу сортировка по алфавиту(весь товар по алфавиту) и сортировку по цифре(весь товар по возрастающей цене)
const
n_items = 7;
l_name = 30;
type
tname = string[l_name];
pTovar = ^Tovar;
Tovar = record
name: tname;
kolvo: integer;
cena: real;
next: pTovar;
prev: pTovar;
end;
var
DefaultMode,
ActiveColor, InactiveColor: word;
key: char;
item: word;
prev: word;
beg: pTovar;
fin: pTovar;
p: pTovar;
name: tname;
tovr: Tovar;
procedure Sortkey1(p:pTovar; const tovr:tname);
var
tmp,tmps:pTovar;
begin
New(tmp);
while p<>nil do
begin
tmp:=p^.next;
while tmp<>nil do
begin
if tmp^.name<p^.name then
begin
tmps:=tmp^.name;
tmp^.name:=p^.name;
p^.name:=tmps
end;
tmp:=tmp^.next
end;
p:=p^.next
end
end;
procedure Sortkey2(p:pTovar; сena:real);
var
tmp,tmps:pTovar;
begin
New(tmp);
while p<>nil do
begin
tmp:=p^.next;
while tmp<>nil do
begin
if tmp^.cena<p^.cena then
begin
tmps:=tmp^.cena;
tmp^.name:=p^.cena;
p^.cena:=tmps
end;
tmp:=tmp^.next
end;
p:=p^.next
end
end;