while not eof(r1) do begin k:=k+1; read(r1,mr[k]) end;
while not eof(r2) do begin k:=k+1; read(r2,mr[k]) end;
while not eof(r3) do begin k:=k+1; read(r3,mr[k]) end;
close(r1); close(r2); close(r3);
for i:=1 to k do writeln(mr[i].tb:3,mr[i].ch:4); writeln;{вывод массива MR}
{----------------сортировка MR по табельному номеру-----------------------------}
for i:=1 to k-1 do begin;
for j:=i+1 to k do if mr[i].tb>mr[j].tb then
begin x:=mr[i]; mr[i]:=mr[j];mr[j]:=x end;
end;
{вывод отсортированного массива Работ}
for i:=1 to k do writeln(mr[i].tb:3,mr[i].ch:4); writeln;
{--обобщение записей с одинаковыми табельными номерами: для группы повторяющихся номеров в первой записи производится суммирование часов, в остальных – поле номера устанавливается в 0}