Program zadanie_4_5;
Uses crt;
type
daty = record
i: integer;
d: integer;
m: integer;
g: integer;
end;
Var
f: array [1 .. 10, 1 .. 2] of string[15];
a, b: byte;
g_m: array [1 .. 10, 1 .. 2] of integer; { mesyats i god }
d: array [1 .. 10] of integer;
dd: array [1 .. 10] of daty;
kol, min, mini, p, s: integer;
Begin
ClrScr;
f[1, 1] := 'Sidorov';
f[2, 1] := 'Petrov';
f[3, 1] := 'Ivanov';
f[4, 1] := 'Fedorov';
f[5, 1] := 'Znaikin';
f[6, 1] := 'Nosov';
f[7, 1] := 'Dyuzhev';
f[8, 1] := 'Dugaev';
f[9, 1] := 'Chaikin';
f[10, 1] := 'Palkin';
f[1, 2] := 'Ivan';
f[2, 2] := 'Dmitrii';
f[3, 2] := 'Aleksandr';
f[4, 2] := 'Aleksei';
f[5, 2] := 'Vadim';
f[6, 2] := 'Nikolai';
f[7, 2] := 'Irvin';
f[8, 2] := 'Stanislav';
f[9, 2] := 'Oleg';
f[10, 2] := 'Svyatoslav';
WriteLn('Vvedeny dannye studentovrozhdennye letom');
WriteLn('____________________________________________________________');
WriteLn('_______________ Dannyestudentov ___________');
WriteLn('| Familiya | ', ' Imya | ', ' Data rozhdeniya (dd.mm.gggg.) |');
WriteLn('------------------------------------------------------------');
kol := 0;
for a := 1 to 10 do
begin
g_m[a, 2] := (random(10) + 1990); { God }
g_m[a, 1] := (random(9) + 4); { Mesyats }
d[a] := (random(31) + 1); { Data }
if (g_m[a, 1] = 6) or (g_m[a, 1] = 7) or (g_m[a, 1] = 8) then
begin
inc(kol);
dd[kol].i := a;
dd[kol].d := d[a];
dd[kol].m := g_m[a, 1];
dd[kol].g := g_m[a, 2];
WriteLn('|', f[a, 1]:10, f[a, 2]:15, d[a]:13, '.', g_m[a, 1]:1, '.',
g_m[a, 2], ' |');
end;
end;
WriteLn('____________________________________________________________');
{ -------------------------------- }
{ ---God }
min := dd[1].g;
mini := dd[1].i;
for a := 2 to kol do
if dd[a].g < min then
begin
mini := dd[a].i;
min := dd[a].g
end;
{ ---Mesyats }
for a := 1 to kol do
if dd[a].g = min then
begin
inc(p);
s := a;
end
else
dd[a].i := 0;
if p > 1 then
begin
min := dd[s].m;
mini := dd[s].i;
for a := 1 to kol do
if dd[a].i <> 0 then
if dd[a].m < min then
begin
mini := dd[a].i;
min := dd[a].m
end;
end;
{ ---Deni }
for a := 1 to kol do
if dd[a].m = min then
begin
inc(p);
s := a;
end
else
dd[a].i := 0;
if p > 1 then
begin
min := dd[s].d;
mini := dd[s].i;
for a := 1 to kol do
if dd[a].i <> 0 then
if dd[a].d < min then
begin
mini := dd[a].i;
min := dd[a].d
end;
end;
WriteLn('Mladshii: ');
WriteLn('|', f[mini, 1]:10, f[mini, 2]:15, d[mini]:13, '.', g_m[mini, 1]:1,
'.', g_m[mini, 2], ' |');
WriteLn;
WriteLn('Dalee nazhmite Enter...');
ReadLn;
End.