Цитата:
Сообщение от Vladimir_S
Покажите - посмотрим.
|
Почему-то не меняет фамилии местами и не всегда выводит все min.
program sp;
uses crt;
const
n=3;
type spisok=record
fio:string;
kolchel:integer;
kolkvmetrov:real;
metrnachel:real;
end;
var
i,j,K,num:integer;
min:real;
rabotnik:array[1..n] of 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('K:=');
readln(K);
writeln('spisok rabotnikov:');
for i:=1 to K-1 do
begin
min:=rabotnik[i].metrnachel;
for j:=1 to n do
if rabotnik[i].metrnachel>rabotnik[j].metrnachel then
begin
min:=rabotnik[i].metrnachel;
rabotnik[i].metrnachel:=rabotnik[j].metrnachel;
rabotnik[j].metrnachel:=min;
end;
write(rabotnik[i].fio,' ');
write('kolichestvo kvadrat. metrov na 1 cheloveka: ');
writeln(min:5:1);
end;
readln;
end.