Ask Question

Name:
Title:
Your Question:

Answer Question

Name:
Your Answer:
User Submitted Source Code!


Description:
  123456
Language: PASCAL
Code:
function IsLeapYear (y : Integer) : Boolean;
begin
    IsLeapYear := (y mod 400 = 0) or ((y mod 4 = 0) and (y mod 100 <> 0));
end;

const
   DayInMonth : array [1..12] of Byte = (31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31);

Var d,m,y,d1,m1,y1,v,h:integer;
Begin
Readln(d,m,y);
v:=y mod 4;

if (d = 1) and (m = 1) then begin
        d := 31;
        m := 12;
        Dec (y)
   end
   else
    if d = 1 then begin
        d := DayInMonth[m-1];
        Dec (m);
         if (m = 2) and (IsLeapYear (y)) then
            Inc (d);
        end
    else Dec(d);
        
   WriteLn (d, ' ', m, ' ', y);

If (d=31) and (m=12) then begin
  d1:=1; m1:=1; y1:=y+1; end
Else if (d=31) then begin
  d1:=1; m1:=m+1; y1:=y; end
Else if (d=30) and (h=0) then begin
  d1:=1; m1:=m+1; y1:=y; end
Else if (d=29) and (m=2) then begin
  d1:=1; m1:=3; y1:=y; end
Else if (d=28) and (m=2) and (v<>0) then begin
  d1:=1; m1:=3; y1:=y; end
Else begin
  d1:=d+1; m1:=m; y1:=y; end;
Write(d1,' ',m1,' ',y1);
End.
Comments: