Составить программу которая запрашивает 4 даты ч.м.г и выводить сообщения о тех которые...

0 голосов
31 просмотров

Составить программу которая запрашивает 4 даты ч.м.г и выводить сообщения о тех которые приходятся на весну. Вывести на экран дату, с самым поздним годом


Информатика (15 баллов) | 31 просмотров
Дан 1 ответ
0 голосов
Правильный ответ

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



(142k баллов)