М | 1. Заголовок темы должен быть информативным. В противном случае тема удаляется ... - klem4 |
uses crt;
var
den,den2,mes,mes2,dmax,mmax:byte;
god,k:integer;
begin
clrscr;
write(' Vvedite den ');
readln(den);
write(' Vvedite mes ');
read(mes);
write(' Vvedite god ');
read(god);
case mes of
1,3,5,7,8,10,12: dmax:=31;{определяю макс дату}
4,5,9,11: dmax:=30;
2: if god mod 4=0 then
dmax:=29
else
dmax:=28;
else;
end;
if (den in[1..dmax]) and (mes in[1..12]) and (god>0) then
writeln(' Data OK')
else
begin
writeln(' Data NO');
readkey;
halt
end;
write(' Vvedite k ');
read(k);
mes2:=mes-1;
repeat
if k> den then
begin
case mes2 of
1,3,5,7,8,10,12: dmax:=31; {макс дата предыдущ месяца}
4,6,9,11: dmax:=30;
2: if god mod 4=0 then
dmax:=29
else
dmax:=28;
else;
end;
if mes2=1 then
begin
mes2:=12;
dec(god)
end
else
dec(mes2);
k:=k-den;
den:=dmax;
end
until k<den;
den:=den - k;
writeln(' ',den,':',mes,':',god);
readkey
end.
вот вроде решил)
Прикрепленные файлы
DATA_NAZ.PAS ( 2.14 килобайт )
Кол-во скачиваний: 232
case mes of
1,3,5,7,8,10,12: dmax:=31;
4,5,9,11: dmax:=30;
2: if god mod 4=0 then
dmax:=29
else
dmax:=28;
else;
end;
function isLeap(n: word): boolean;Как результат - программа кажется работающей, но первая же более глубокая проверка выявит баги...
begin
isLeap := ((n mod 4) = 0) and
not (((n mod 100) = 0) and ((n mod 400) <> 0))
end;
насчет пятерки-опечатка))
вот исправлено
(вообщем то результат правильный я не нашел ошибки на примерах)
если ее так сдавать она не слишком "навороченная"?
Прикрепленные файлы
DATA2.PAS ( 2.32 килобайт )
Кол-во скачиваний: 226
были найдены глюки... и теперь они иправлены.
дату проверял до 2000 дней с интервалами по 50 дней
теперь работает идеально
даже если год до нашей эры
Спасибо volvo за идею!!!
Прикрепленные файлы
DATA_OK.PAS ( 2.92 килобайт )
Кол-во скачиваний: 258
DATA_OK.PAS ( 2.92 килобайт )
Кол-во скачиваний: 270
А как можно определить какой день недели будет через К дней назад?
Пробовал сделать по отношению к 1.1.2000 года, это была суббота, но получается не правильно.
Подкиньте идею плиз