Цитата:
Сообщение от Karel
Попробывал отсортировать массив записей, пишет ошибку не соответствие типов Record и integer
|
Ладно, вот Вам еще вариант решения задачи - с моей точки зрения, полностью удовлетворяющий поставленным условиям. Уж если и это Вас не устроит, то... В любом варианте, больше помочь ничем не могу.
Код:
program sp;
uses crt;
const
n=3;
type spisok=record
fio:string;
kolchel:integer;
kolkvmetrov:real;
metrnachel:real;
end;
var
i,j,K:integer;
rabotnik:array[1..n] of spisok;
rab:spisok;
begin
clrscr;
for i:=1 to n do
with rabotnik[i] do
begin
writeln('vvedite svedenia o rabotnike');
writeln('vvedite fam, name, otch');
readln(fio);
writeln('vvedite kolichestvo chel');
readln(kolchel);
writeln('vvedite kolichestvo kvad.metrov');
readln(kolkvmetrov);
metrnachel:=kolkvmetrov/kolchel;
end;
write('Kolichestvo kvartir= ');
readln(K);
for i:=1 to n do
for j:=n downto i+1 do
if rabotnik[j-1].metrnachel>rabotnik[j].metrnachel then
begin
rab:=rabotnik[j-1];
rabotnik[j-1]:=rabotnik[j];
rabotnik[j]:=rab;
end;
clrscr;
writeln('Spisok rabotnikov:');
writeln;
writeln('Pretendenty:');
for i:=1 to K do
with rabotnik[i] do
begin
write(fio);
for j:=Length(fio)+1 to 40 do write(' ');
writeln(kolchel:3,kolkvmetrov:7:1,metrnachel:7:1);
end;
writeln;
writeln('Prochie:');
for i:=K+1 to n do
with rabotnik[i] do
begin
write(fio);
for j:=Length(fio)+1 to 40 do write(' ');
writeln(kolchel:3,kolkvmetrov:7:1,metrnachel:7:1);
end;
readln;
end.