Program a14_24;
uses crt;
const nmax=40;
type Date=record
d:1..31;
m:1..12;
y:1900..3000;
end;
Rec=Record
surname:string;
name:string;
birthdate:date;
end;
list=array[1..nmax] of rec;
tset=set of 1..12;
var a:list;
vg:char;
n:byte;
s:tset;
procedure months(v:char; var s:tset);
begin
case v of
'з':s:=[1,2,12];
'в':s:=[3..5];
'л':s:=[6..8];
'о':s:=[9..11];
end;
end;
procedure init(var x:list; var k:byte);
var f:text;
begin
assign(f,'c:\input.txt');
reset(f);
k:=0;
while not eof(f) do begin
inc(k);
with x[k] do
begin
readln(f,surname);
readln(f,name);
read(f,birthdate.d);
read(f,birthdate.m);
read(f,birthdate.y);
end;
end;
close(f);
End;
procedure solve(var x:list; s:tset; k:byte);
var i:byte;
f:text;
begin
assign(f,'c:\output.txt');
rewrite(f);
writeln(f,'Список именинников: ');
for i:=1 to k do
with x[i] do
if birthdate.m in s then
writeln(f,name,' ',surname);
close(F);
end;
begin
init(A,n);
write('Введите текущее время года (з, в, л, о)');
readln(vg);
months(vg,s);
solve(a,s,n);
readln;
END.