Mam swoje wypociny, które niby działają, ale ciągle wypisuje mi 22 kwietnia i poprzedza to errorem.
Proszę o pomoc, bo niestety jestem noga w programowaniu
Program:
CODE-BOX
uses crt;
function Sm(rok,i:longint):longint; {wyznaczenie m }
var m:integer;
begin
i:=(rok div 100);
if (i=17) then m:=23;
if (i=18) then m:=23;
if (i=19) then m:=24;
if (i=20) then m:=24;
if (i=21) then m:=24 else write('error');
end;
function Sn(rok,i:longint):longint; {wyznaczenie n }
var n:integer;
begin
i:=(rok div 100);
if (i=17) then n:=3;
if (i=18) then n:=4;
if (i=19) then n:=5;
if (i=20) then n:=5;
if (i=21) then n:=6 else write('error');
end;
var a,b,c,d,e,rok,m,n,i:longint;
begin
writeln('Podaj rok');
readln(rok);
n:=Sn(rok,i);
m:=Sm(rok,i);
a:=rok mod 19;
b:=rok mod 4;
c:=rok mod 7;
d:=((19*a+m) mod 30);
e:=(2*b+4*c+6*d+n)mod 7;
writeln('n ',n, 'm ',m);
if (22+d+e<=31) then writeln('Dzien wielkanocy bedzie 22 marca');
if (d+e-9<=31) then writeln('Dzien wielkanocy bedzie 22 kwietnia');
readln;
end.