Код:
program dae;
var
g1,g2,m1,m2,d1,d2,n:longint;
day:byte;
const
Cm: array[3..14] of integer=(0,31,61,92,122,153,184,214,245,275,306,337);
begin
writeln('enter data: d m g');
readln(d2,m2,g2);
d1:=29;m1:=12;g1:=2008;
{29 декабря 2008 был ПН. т.е. = 0(mod 7)}
{делаем март первым месяцем}
if m1<=2 then
begin
m1:=m1+12;
g1:=g1-1;
end;
if m2<=2 then
begin
m2:=m2+12;
g2:=g2-1;
end;
n:=(g2-g1)*365+((g2 div 4)-(g1 div 4))+Cm[m2]-Cm[m1]+d2-d1;
{n=разность между введенной датой и известной}
if n<0 then
begin
n:=-n;
day:=(n mod 7);
if day<>0 then day:=7-day;
end
else
day:=(n mod 7);
case day of
0:writeln('day=pn');
1:writeln('day=vt');
2:writeln('day=sr');
3:writeln('day=cht');
4:writeln('day=pt');
5:writeln('day=sb');
6:writeln('day=vs');
end;
readln;
end.
Проверял по календарю -выдает неправильный ответ. Где ошибка?
