Сведения о студентах факультета состоят из следующей информации: фамилия, имя, отчество, пол, возраст, курс

В фамилии, имени, отчестве – не более 12 букв, пол указанная прописью М и Ж, возраст от 16 до 35 лет, курс - целое число от 1 до 5. Определить номер курса, на котором мужчин больше.

code: #pascal
Program PascalGuru;
 
type
     student=record
                   prizv:string[12];
                   imia:string[12];
                   batko:string[12];
                   stat:char;
                   vik:16..35;
                   kurs:1..5;
             end;
 
{--------------------------------------}
var st:array [1..50] of student;
    f:text;
    p,i,j,n,cislo,code:integer;
    s,sub:string;
    kurs:1..5;
    kolvo:integer;
 
 
{--------------------------------------}
begin
assign(f,'db.txt'); reset(f);
 
i:=0;
while not eof(f) do
      begin
      inc(i);
       readln(f,s);
       p:=pos(' ',s);
       j:=0;
       repeat
       inc(j);
       sub:=copy(s,1,p-1);
       if j=1 then st[i].prizv:=sub;
       if j=2 then st[i].imia:=sub;
       if j=3 then st[i].batko:=sub;
       if j=4 then st[i].stat:=sub[1];
       if j=5 then begin val(sub,cislo,code);      st[i].vik:=cislo; end;
       delete(s,1,p);
       p:=pos(' ',s);
       until p=0;
       val(s,cislo,code);                    st[i].kurs:=cislo;
      end;
      n:=i;
 
{*** ниже определяем курс, где "М" больше}
    kurs:=1;
    kolvo:=0;
for i:=1 to 5 do {проверяем с 1 по 5 курс}
    begin
     p:=0;
     for j:=1 to n do {проверяем всех студентов}
      if (i=st[j].kurs) then
      if (st[j].stat='М') then inc(p);
 
     if p>kolvo then begin kolvo:=p; kurs:=i; end;
 
    end;
{***}
writeln('Otvet: na "',kurs,'" kurse (vsego ',kolvo,')');
 
 
 
close(f);
readln;
end.      
Поделиться:

Похожие статьи: