Известны данные о 10 сотрудниках фирмы(фамилия,зарплата и пол).определить фамилии мужчины и женщины, имеющих самую маленькую зарплату(считать, что такие есть и они единственные в своей группе сотрудников) — Pascal(Паскаль)

uses crt;
const n=10;
type Tsotr=record
           fam:string[20];
           okl:longint;
           pol:char;
           end;
var sp:array[1..n] of Tsotr;
    x:Tsotr;
    i,im,iz:integer;
    mnm,mnz:longint;
begin
clrscr;
writeln('Введите данные о сотрудниках:');
for i:=1 to n do
  begin
   writeln('Сотрудник ',i);
   write(' Фамилия: ');readln(sp[i].fam);
   write(' Оклад: ');readln(sp[i].okl);
   repeat
    write(' Пол (м,ж): ');readln(sp[i].pol);
   until sp[i].pol in ['м','ж'];
  end;
clrscr;
for i:=1 to n do
 begin
  if sp[i].pol='м'then mnm:=sp[i].okl;
  if sp[i].pol='ж'then mnz:=sp[i].okl;
 end;
for i:=1 to n do
 begin
  if (sp[i].pol='м')and(sp[i].okl<mnm)then
    begin
     mnm:=sp[i].okl;
     im:=i;
    end;
  if (sp[i].pol='ж')and(sp[i].okl<mnz)then
   begin
    mnz:=sp[i].okl;
    iz:=i;
   end;
 end;
writeln('Данные о заработной плате сотрудников:');
writeln;
writeln('-------------------------------------');
writeln('|     Фамилия      | Пол | Зарплата |');
writeln('-------------------------------------');
for i:=1 to n do
 begin
  gotoXY(1,whereY);write('| ',sp[i].fam);
  gotoXY(20,whereY);write('|  ',sp[i].pol);
  gotoXY(26,whereY);write('| ',sp[i].okl);
  gotoXY(37,whereY);writeln('|');
 end;
writeln('-------------------------------------');
writeln('Минимальную зарплату среди женщин имеет ',sp[iz].fam);
writeln('Минимальную зарплату среди мужчин имеет ',sp[im].fam);
readln
end.

Leave a Comment

+ 64 = 73