Сведения о студентах факультета состоят из следующей информации: фамилия, имя, отчество, пол, возраст, курс
Категория: Delphi/Pascal
2012-01-06 19:17:30
В фамилии, имени, отчестве – не более 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.
Поделиться: