Var s,sd,sm,sy:string; d,m,y,err:integer; begin Write('Введите текущую дату в формате дд/мм/ или дд.мм.: '); Readln(s); if Length(s)<>10 then Writeln('Неверный ввод') else begin sd:=s[1]+s[2]; Val(sd,d,err); sm:=s[4]+s[5]; Val(sm,m,err); sy:=Copy(s,7,4); Val(sy,y,err); if err>0 then Writeln('Неверный ввод') else begin if d<28 then d:=d+1 else begin case m of 1,3,5,7,8,10,12: if d<31 then d:=d+1 else begin d:=1; m:=m+1 end; 2: if (y mod 4)=0 then if d=28 then d:=29 else begin d:=1; m:=3 end else begin d:=1; m:=3 end; else if d<30 then d:=d+1 else begin d:=1; m:=m+1 end end end; if m>12 then begin m:=1; y:=y+1 end; Str(d,sd); if Length(sd)=1 then sd:='0'+sd; Str(m,sm); if Length(sm)=1 then sm:='0'+sm; Str(y,sy); s:=sd+'.'+sm+'.'+sy; Writeln('Завтра будет '+s) end end end.
Program time; uses crt; var HH,MM,HP,MP,HR,MR,ost:integer; begin write('Vvedite vremya otvravki : '); read(HH); read(MM); writeln; write('vvedite prodolgitelnost poleta: '); read(hp); read(mp); clrscr; writeln('Otpravleniye somolyata v ',hh,':',mm);
MR:=mm+mp; if mr>59 then begin ost:=mr mod 60; MR:=ost; HR:=HR+(MR div 60); end;
HR:=HH+HP; if hr>24 then hr:=hr - 24;
Writeln; Write('Pributie samolyota v ', HR,':',MR); writeln;
end.
данный можно сразу вводить через пробел... например 12 10 жмем ентер и вводим другие 14 55 и ентер и все прекрасно посчитает. тут опечатка...не совсем правильно считает... подожди исправлю
кинуть телефон или комп об стену