У Васи Пупкина неожиданно сломался компьютер. Из-за отсутствия нужных материалов на ремонт понадобится N дней. Определите дату окончания ремонта, если известно, что компьютер сломался в текущем году, и ремонт должен закончиться тоже в этом году.
Известна дата поломки в формате ДД.ММ и количество дней ремонта N.
Получить дату окончания ремонта в формате: ДД.ММ.
Пример:
Входные данные: Выходные данные:
01.06 30 01.07
Вот мои наброски она вечно касячит, т.е найдётся такое число при котором она выдаст не тот ответ - помогите пожалуйста
program asd;
Uses
Crt;
const
n = 100;
m = 1000;
var
mas: array[1..n] of String;
mas2: array[1..m] of Integer;
date: String;
count,w,q,e,r,day,k,i: Integer;
pr,od: byte;
begin
ClrScr;
WriteLn('Input date:');
Readln(date);
WriteLn('Input day:');
Readln(day);
For count:= 1 to Length(date) do
mas[count]:=Copy(date,count,1);
mas[1]:=mas[1]+mas[2];
For count:= 2 to Length(date) do
mas[count]:= mas[count+1];
Val(mas[1],q,w);
mas2[1]:=q;
mas[3]:=mas[3]+mas[4];
For count:=4 to Length(date)-1 do
mas[count]:=mas[count+1];
Val(mas[3],e,r);
mas2[2]:= e;
Case e of
1,3,5,7,9,11: k:=31;
4,6,8,10,12: k:=30;
2: k:=30;
end;
If day+q > k then
begin
i:=(day+q) div k;
mas2[2]:=e+i;
day:=day-(k-q);
If
For count:= e+1 to mas2[2] do
begin
If NOT Odd(count) = true then day:=day - 30;
Writeln(day);
If Odd(count) = true then day:= day - 31;
end;
For count:=1 to pr do
day:= day-30;
For count:=1 to od do
day:= day-31;
end;{
else
day:=day+q;
If day = 0 then day:=1;
Writeln(day,'.',mas2[2]);}
ReadKey;
end.
Все исходники должны помещаться в теги [ CODE] [ /CODE]
Сообщение отредактировано: volvo -