Составить программу которая запрашивает 4 даты ч.м.г и выводить сообщения о тех которые приходятся на весну. вывести на экран дату, с самым поздним годом
Const n = 4; Spring = [3..5];{ Номера весенних месяцев }
var ds: array[1..n] of string; i, d, m, y, dmax, mmax, ymax, k: integer; s, s1: string;
begin Writeln('Вводите даты в формате "день месяц год" через пробел'); k := 0; dmax := 0; mmax := 0; ymax := 0; for i := 1 to n do begin Write(i, ': '); Readln(d, m, y); if (m in Spring) then begin k := k + 1; Str(d, s); Str(m, s1); s := ' ' + s + '.' + s1 + '.'; Str(y, s1); ds[k] := s + s1 end; if ymax < y then begin dmax := d; mmax := m; ymax := y end else if ymax = y then if mmax < m then begin dmax := d; mmax := m; ymax := y end else if dmax < d then begin dmax := d; mmax := m; ymax := y end end; Writeln; if k > 0 then begin Write('Весенние даты:'); for i := 1 to k do Write(ds[i]); Writeln; end; Writeln('Самая поздняя дата ', dmax, '.', mmax, '.', ymax) end.
Тестовое решение:
Вводите даты в формате "день месяц год" через пробел 1: 25 8 2010 2: 3 4 2013 3: 18 5 2011 4: 31 12 2012
Весенние даты: 3.4.2013 18.5.2011 Самая поздняя дата 3.4.2013
n = 4;
Spring = [3..5];{ Номера весенних месяцев }
var
ds: array[1..n] of string;
i, d, m, y, dmax, mmax, ymax, k: integer;
s, s1: string;
begin
Writeln('Вводите даты в формате "день месяц год" через пробел');
k := 0; dmax := 0; mmax := 0; ymax := 0;
for i := 1 to n do
begin
Write(i, ': ');
Readln(d, m, y);
if (m in Spring) then
begin
k := k + 1;
Str(d, s);
Str(m, s1); s := ' ' + s + '.' + s1 + '.';
Str(y, s1);
ds[k] := s + s1
end;
if ymax < y then begin dmax := d; mmax := m; ymax := y end
else if ymax = y then
if mmax < m then begin dmax := d; mmax := m; ymax := y end
else if dmax < d then begin dmax := d; mmax := m; ymax := y end
end;
Writeln;
if k > 0 then
begin
Write('Весенние даты:');
for i := 1 to k do Write(ds[i]);
Writeln;
end;
Writeln('Самая поздняя дата ', dmax, '.', mmax, '.', ymax)
end.
Тестовое решение:
Вводите даты в формате "день месяц год" через пробел
1: 25 8 2010
2: 3 4 2013
3: 18 5 2011
4: 31 12 2012
Весенние даты: 3.4.2013 18.5.2011
Самая поздняя дата 3.4.2013