Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Паскаль, Turbo Pascal, PascalABC.NET
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Закрытая тема
Ваша тема закрыта, почему это могло произойти? Возможно,
Нет наработок или кода, если нужно готовое решение - создайте тему в разделе Фриланс и оплатите работу.
Название темы включает слова - "Помогите", "Нужна помощь", "Срочно", "Пожалуйста".
Название темы слишком короткое или не отражает сути вашего вопроса.
Тема исчерпала себя, помните, один вопрос - одна тема
Прочитайте правила и заново правильно создайте тему.
 
Опции темы Поиск в этой теме
Старый 23.06.2013, 11:16   #1
fanatloko
 
Регистрация: 23.06.2013
Сообщений: 8
По умолчанию Дата некоторого дня характеризуется двумя натуральными числами: m (порядковый номер месяца) и n (число)

Дата некоторого дня характеризуется двумя натуральными числами: m (порядковый номер месяца) и n (число). Но заданным n и m опреде¬лить:
• дату предыдущего дня
• дату следующего дня
fanatloko вне форума
Старый 23.06.2013, 14:36   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

С потолка:
Код:
const mm:array[1..12] of integer=(31,28,31,30,31,30,31,30,31,30,31,31);
var m,n:integer;
begin
 m:=1;n:=1;
 if n=1 then begin
  if ((m in [1,5,7,9,11,12])  then write('pred=',30) else
  if ((m in [2,4,5,7,8])  then write('pred=',31) else
  if ((m in [3])  then write('pred=',28) else
  write('next=',n-1);
 end else begin
  if (n=31) and (m in [1,3,5,7,9,11,12]) then write('next=',1) else
  if (n=30) and (m in [4,6,8,10]) then write('next=',1) else
  if (n=28)and(m=2) then  write('next=',1) else
  write('next=',n+1);
 end;
end;
Не проверял, методика может быть не совсем верной.
I'm learning to live...
Stilet вне форума
Старый 22.07.2013, 20:46   #3
Maxloki
Новичок
Джуниор
 
Регистрация: 21.07.2013
Сообщений: 6
По умолчанию

Цитата:
Program data;
Uses crt;
Var m,n,k,s,p,f:byte;
Begin clrscr;
Write ('Введите порядковый номер месяца m:=');
Readln (m);
writeln;
Write ('Введите число n:=');
Readln (n);
If ((m=12) and (n=31)) then begin k:=1;
s:=1;
end else

If ((n=31) or (n=30) or (n=28) or (n=29)) then begin k:=m+1;
s:=1;
end;
If ((m=1) and (n=1)) then begin p:=12;
f:=31;
end;
If ((k=0) and (s=0)) then begin k:=m;
s:=n+1;
end;
If ((p=0) and (f=0) and (n=1)) then If ((m=1) or (m=5) or (m=7) or (m=10) or (m=12)) then begin p:=m-1; f:=30; end else
If m=3 then begin p:=m-1; f:=29; end else
If ((m=2) or (m=4) or (m=6) or (m=8) or (m=9) or (m=11)) then begin p:=m-1; f:=31 end;
If ((p=0) and (f=0)) then begin p:=m; f:=n-1; end;
Writeln ('Следующий день ',s,'.',k);
Writeln ('Предыдущий день ',f,'.',p);
End.
Вот программа!
Maxloki вне форума
Закрытая тема


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Дата некоторого дня определяется двумя натуральными числами: m (порядковый номер месяца) и n (число). По заданным n и m определ monokol Помощь студентам 2 22.07.2013 20:53
Работа с натуральными числами Алискин Помощь студентам 2 17.10.2012 21:29
Как вычислить номер месяца, имея номер недели? Ras2im Microsoft Office Excel 17 07.10.2012 03:31
записать дату натуральными числами (С++) Alina5545 Помощь студентам 2 13.04.2010 22:05
записать дату натуральными числами Alina5545 Общие вопросы C/C++ 12 13.04.2010 22:03