Есть информация про студентов которая дана в таком виде: <фамилия>,<имя>,<отчество>,<пол>,<возраст>,<курс>
написать программу с под программами на языке Паскаль, которая вводит эту информацию и выводит фамилии и курс студентов возраст которых больше определенного
Answers & Comments
Писал на Lazarus так что сори за пробелы Ответ:1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
program rec;
type
stud = record
fam:string[20];
name:string[15];
otch:string[20];
sex:string;
age:byte;
course:1..5;
end;
var
max,i,n,c:byte;
a:array[1..100] of stud;
f,all:array[1..100] of byte;
p:array[1..5] of real;
begin
write(':');
readln(n);
for i:=1 to n do
begin
with a[i] do
begin
write(''); readln(fam);
write(''); readln(name);
write(''); readln(otch);
write(''); readln(sex);
write(''); readln(age);
write(''); readln(course);
end;
for course:=1 to 5 do
begin
case sex of
'мужской':inc(all[course]);
'женский':inc(all[course]);
'женский':inc(f[course]);
end;
end;
p[course]:= f[course]/all[course];
max:=p[1];
for i:=2 to 5 do
if (p[i]>max) then
max:=i;
writeln(max);
readln;
end;
end.
Объяснение:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
for i:=1 to n do
begin
if a[i].sex='ж' then
begin
inc(f[i]);
inc(all[i]);
end
else inc(all[i]);
end;
case a[i].course of
1:p[1]:=f[1]/all[1];
2:p[2]:=f[2]/all[2];
3:p[3]:=f[3]/all[3];
4:p[4]:=f[4]/all[4];
5:p[5]:=f[5]/all[5];
end;
max:=p[1];
nmax:=1;
for i:=1 to 5 do
if (p[i]>max) then
begin
max:=p[i];
nmax:=i;
end;
writeln('Наибольший процент женщин на ',nmax,'-ом курсе.');
readln;
end.
Ну или вот, ну все равно выдает дичь