Напишите программу в Паскале) написать программу которая вычисляет дату следующего дня. Введите цифрами сегодняшнюю дату(число,месяц,год) 31 12 1998

Напишите программу в Паскале) написать программу которая вычисляет дату следующего дня. Введите цифрами сегодняшнюю дату(число,месяц,год) 31 12 1998
Гость
Ответ(ы) на вопрос:
Гость
program z2; var day, month, year:integer; begin writeln('Введите число, месяц, год'); readln(day,month,year); if(year mod 4=0) and (year mod 100 <> 0) or (year mod 100=0) and (year mod 400 = 0) then  //определение висок. года begin   if(month=2) then    begin      if(day=29) then     begin      day:=1;      month:=3;    end    else      day:=day+1;  end  else if(month=1) or (month=3) or (month=5) or( month=7) or (month=8) or (month=10) then   begin    if(day=31) then    begin      month:=month+1;      day:=1;    end    else      day:=day+1;  end  else if(month=12)then  begin    if(day=31) then      begin        year:=year+1;        month:=1;        day:=1;      end    else      day:=day+1;  end  else     begin     if(day=30) then       begin         day:=1;         month:=month+1;       end     else      day:=day+1;     end; end else //проверка обычного года begin   if(month=2) then   begin      if(day=28) then     begin       day:=1;       month:=3;     end     else       day:=day+1;   end   else if(month=1) or (month=3) or (month=5) or( month=7) or (month=8) or (month=10) then   begin    if(day=31) then     begin       month:=month+1;       day:=1;     end     else       day:=day+1;   end   else if(month=12)then   begin     if(day=31) then       begin         year:=year+1;         month:=1;         day:=1;       end     else       day:=day+1;   end   else      begin     if(day=30) then       begin         day:=1;         month:=month+1;       end     else      day:=day+1;     end; end; writeln('Следующий день: ',day, ' ',month, ' ',year); end.
Гость
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.
Не нашли ответ?
Ответить на вопрос
Похожие вопросы