Case9. Даны два целых числа: $$D$$ (день) и $$M$$ (месяц), определяющие правильную дату невисокосного года. Вывести значения $$D$$ и $$M$$ для даты, следующей за указанной.
Решение:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 |
program Case9; var D,M:Integer; begin Write('Введите день: '); Readln(D); Write('Введите номер месяца: '); Readln(M); D:=D+1; Case M of 1,3,5,7,8,10 : if D>31 then begin D:=1; M:=M+1; end; 4,6,9,11 : if D>30 then begin D:=1; M:=M+1; end; 2 : if D>28 then begin D:=1; M:=M+1; end; 12: if D>31 then begin D:=1; M:=1; end; end; Writeln ('Предыдущая дата: ',D,'.',M); end. |
Решение от olegst1975:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
var d,m:integer; begin //Task('Case9'); read(d); read(m); case m of 2:if d=28 then d:=0; 1,3,5,7,8,10,12:if d=31 then d:=0; 4,6,9,11:if d=30 then d:=0; end; if d=0 then if m=12 then m:=1 else m:=m+1; d:=d+1; writeln(d,m); end. |
Другие задачи из раздела Case можно посмотреть здесь.
Получилось более компактно:
добавил решение…