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

Ответы 6

  • У Вас как-то проще получилось.)
  • Наверно потому, что взял другой алгоритм.
  • да, именно поэтому.
    • Автор:

      speedykey
    • 6 лет назад
    • 0
  • Что еще раз подтверждает известное: программа начинается с алгоритма.
    • Автор:

      grover
    • 6 лет назад
    • 0
  • program z2;var day, month, year:integer;beginwriteln('Введите число, месяц, год');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;endelse //проверка обычного года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.
  • Добавить свой ответ

Войти через Google

или

Забыли пароль?

У меня нет аккаунта, я хочу Зарегистрироваться

How much to ban the user?
1 hour 1 day 100 years