Привет всем. Помощи больше не надо.
Первую программу написал, только с недочетами. например: завел массив из записей, что большой минус.
Но теперь понял как делать. Если кому-то пригодиться, то вот код моей программы.
Условие: Дан файл содержащий в себе сведения о студентах: фамилия, пол, курс. Определить на каком
курсе наибольший процен мужчин и выдать: номер курса, процент мужчин, фамилии студентов учащихся
на этом курсе мужского пола.
Код
Program max_boys;
Type information=record
surname:string[20];
pol:string[1];
kurs:byte;
end;
Var F:file of information;
stud: array [1..100] of information;
k:information;
p,l,x,i,n,o,j,boys,kol:byte;
procent:array[1..5] of real;
max_percent:real;
Begin
Assign (F,'inform.txt');
reset (F);
writeln ('Spisok studentov :');
writeln ('N ',' ','surname':10,' ','pol':1,' ','kurs':1);
i:=0;
o:=0;
while not eof (F) do
begin
i:=i+1;
Read (F,stud[i]);
with stud[i] do
writeln (i,')',' ',surname:10,' ',pol:1,' ',kurs:1);
end;
for j:=1 to i do
begin
for l:=i+1 to i-1 do
begin
if stud[j].kurs>stud[l].kurs then begin
k:=stud[j]; stud[j]:=stud[l]; stud[l]:=k;
end;
end;
for n:=1 to 5 do
begin
kol:=0;boys:=0;
for j:=1 to i do
if stud[j].kurs=n then
begin
kol:=kol+1; if stud[j].pol='m' then
boys:=boys+1;
end;
if kol>0 then
procent[n]:=(boys/kol*100);
end;
end;
max_percent:=procent[1];
for n:=1 to 5 do
begin if procent[n]>=max_percent then
begin
max_percent:=procent[n];
p:=n;
end
else
end;
writeln ('nomer kursa: ',p,' Procent male: ',max_percent:5:2,' Spisok mugshin:');
for j:=1 to i do
if (stud[j].kurs=p) and (stud[j].pol='m') then
begin
o:=o+1;
writeln (o,')',' ',stud[j].surname:10);
end;
END.