Mam problem :( Chcę napisać prosty programik, który znajdzie datę(D.M.R) z przedziału PD.PM.PR -> DD.DM.DR. Napisałem coś takiego i jednak chyba dla mnie nie jest taki "prosty" :( Będę wdzięczny za pomoc
PS. Na początek założyłem, że PR i DR są równe
program znajdz_date ;
var PD,PM,PR,DD,DM,DR,D,M,R:integer;
function Max_liczba_dni(miesiac:byte;rok:integer):byte;
var rok_przest:boolean;
begin
rok_przest:=false;
if((rok mod 4=0)and(rok mod 100<>0))or(rok mod 400=0) then rok_przest:=true;
case miesiac of
1,3,5,7,8,10,12:Max_liczba_dni:=31;
4,6,9,11: Max_liczba_dni:=30;
2: if rok_przest then Max_liczba_dni:=29;
else Max_liczba_dni:=28;
end;
end;
begin
PD:=1;
PM:=9;
PR:=2015;
DD:=9;
DM:=12;
DR:=2015;
D:=1;
M:=10;
R:=2015;
If (PR=DR) then
begin
while (PM<DM) or (PM=DM)do
begin
while (PD<Max_liczba_dni(PM,PR)) or (PD=Max_liczba_dni(PM,PR)) or ( PD=DD) do
begin
PD:=PD+1;
if (PD=D) and (PM=M) and (PR=R) then writeln(' znalazl date ! ' );
end;
PM:=PM+1;
end;
end;
readln;
end.