Меня надо немного подправить в самой процедуре сортировке(надеюсь остальное то правильно будет). Вот что я наработал:
Program Spisok;
uses crt;
const n=5;
type uk=^zapis;
zapis=record
Fio:string[20];
Stavka,Stazh:integer;
next:uk;
end;
Mas=array [1..n] of zapis;
var a:mas;
s:zapis;
i:integer;
z,beg:uk;
Procedure vvod (var s:zapis;var a:mas);
begin
for i:=1 to n do begin
Writeln ('Введите фамилию');
readln (s.Fio);
writeln ('Введите стаж работы');
readln (s.Stazh);
writeln ('Введите ставку');
readln (s.Stavka);
a[i]:=s;
end;
end;
Procedure sort (var a:mas;var s:zapis;var beg:uk);
var i,j:integer;
p,max,p1:uk;
begin
for i:=1 to n do begin
p^:=a[1];
if a[i].FIO>p^.FIO then
p^:=a[i];
end;
for j:=n downto 2 do begin
for i:=1 to n do begin
max^:=a[1];
if a[i].Fio>max^.FIO then
max^:=a[i];
end;
beg:=max; - вот с этими указателями не могу понять как их сделать чтоб работало
p1:=max;
beg^.next:=p;
end;
end;
Procedure vivod (var beg:uk);
var p:uk;
begin
writeln ('Фамилия Стаж работы Ставка ');
p:=beg;
while p<>nil do begin
write (p^.FIO:10);
write (p^.Stazh:20);
write (p^.stavka:25);
p:=p^.next;
end;
end;
BEGIN
clrscr;
VVod (s,a);
clrscr;
sort(a,s,beg);
vivod(beg);
readln;
end.
Помогите плиз, ну никак не пойму
Сообщение отредактировано: Child of Bodom -