напишите программу в Паскале) написать программу которая вычисляет дату следующего дня. Введите цифрами сегодняшнюю дату(число,месяц,год) 31 12 1998
Answers & Comments
djrazor308
Const dm:array[1..12] of integer=(31,28,31,30,31,30,31,31,30,31,30,31); var d,m,y,dFeb:integer; begin Write('Введите дату в формате день месяц год: '); Read(d,m,y); if (m=2) and (d>=28) then begin if ((y mod 4=0) and (y mod 100 <> 0)) or ((y mod 100=0) and (y mod 400 =0)) then dFeb:=29 else dFeb:=29; if d=dFeb then begin d:=1; Inc(m) end else Inc(d); if m=13 then begin m:=1; Inc(y) end end else begin Inc(d); if d>dm[m] then begin d:=1; Inc(m) end; if m=13 then begin m:=1; Inc(y) end end; Writeln('Следующая дата ',d,' ',m,' ',y) end.
Answers & Comments
dm:array[1..12] of integer=(31,28,31,30,31,30,31,31,30,31,30,31);
var
d,m,y,dFeb:integer;
begin
Write('Введите дату в формате день месяц год: ');
Read(d,m,y);
if (m=2) and (d>=28) then begin
if ((y mod 4=0) and (y mod 100 <> 0)) or
((y mod 100=0) and (y mod 400 =0)) then dFeb:=29
else dFeb:=29;
if d=dFeb then begin d:=1; Inc(m) end
else Inc(d);
if m=13 then begin m:=1; Inc(y) end
end
else begin
Inc(d);
if d>dm[m] then begin d:=1; Inc(m) end;
if m=13 then begin m:=1; Inc(y) end
end;
Writeln('Следующая дата ',d,' ',m,' ',y)
end.