Показать сообщение отдельно
Старый 23.12.2004, 11:03     # 13
Ghost
::VIP::
Звезда первого сезона
Молчун-2004
 
Аватар для Ghost
 
Регистрация: 24.08.2002
Сообщения: 1 575

Ghost Отец (мать) всех ГуруGhost Отец (мать) всех ГуруGhost Отец (мать) всех ГуруGhost Отец (мать) всех ГуруGhost Отец (мать) всех ГуруGhost Отец (мать) всех ГуруGhost Отец (мать) всех ГуруGhost Отец (мать) всех ГуруGhost Отец (мать) всех ГуруGhost Отец (мать) всех ГуруGhost Отец (мать) всех ГуруGhost Отец (мать) всех ГуруGhost Отец (мать) всех ГуруGhost Отец (мать) всех ГуруGhost Отец (мать) всех ГуруGhost Отец (мать) всех ГуруGhost Отец (мать) всех Гуру
bad3p
Пришлось малехо помучиться
Код:
uses
  crt;

type
  years  = 0..2100;
  months = 1..12;
  days   = 1..31;

const
  day_months: array [months] of days =
    (31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31);
  day_weeks:  array [0..6] of string =
    ('VOS', 'PN', 'VT', 'SRE', 'CHE', 'PIA', 'SUB');

var
  year:  years;
  month: months;
  day:   days;
  feb29: boolean;
  alld:  longint;
  i:     integer;

begin
  clrscr;
  write ('year  (0-2100): '); readln(year);
  write ('month (1-12):   '); readln(month);
  feb29 := ((year mod 4) = 0);
  if ((year mod 100) = 0) then feb29 := ((year mod 400) <> 0);
  if feb29 then day_months[2] := 29 else day_months[2] := 28;
  repeat
    write ('day   (1-', day_months[month], '):   '); readln(day);
  until (day > 0) and (day <= day_months[month]);
  alld := year + (year div 4) - 3;
  for i := 1 to pred(month) do inc (alld, day_months[i]);
  alld := (alld + day) mod 7;
  writeln('day of week:    ', day_weeks[alld]);
  readkey;
end.
__________________
Действовать надо тупо и это лучшее доказательство нашей чистоты и силы!
Ghost вне форума