Даны дата рождения человека и сегодняшняя дата. Нужно найти, исполнилось ли
Даны дата рождения человека и нынешняя дата. Нужно определить, исполнилось ли человеку 16 лет. Формат входных данных В первой строке входного файла записана дата рождения человека, во второй нынешняя дата. Любая дата представляет собой три целых числа: D, M и Y день, месяц и год соответственно. Гарантируется, что тройки чисел задают корректную дату календаря, а сами даты лежат меж 1 января 1900 года и 31 декабря 2050 года.
написать на c++
Метод решения
Для начала давай поглядим на года.
1. Если разница меж годом рождения и текущим годом больше 16, мы однозначно можем сказать, что человеку теснее есть 16.
2. Если разница между годом рождения и текущим годом меньше 16, мы однозначно можем сказать, что человеку ещё нет 16.
Если разница меж годом рождения и текущим годом одинакова 16, мы можем сказать, что у человека денек рождения в этом году. Давай глянем на месяц.
1. Если текущий месяц больше месяца рождения, человеку теснее есть 16.
2. Если текущий месяц меньше месяца рождения, человеку ещё нет 16.
Если у человека день рождения в этом месяце, давай точно так же глянем на дни.
В итоге мы уже точно знаем, когда у человека денек рождения.
Код решения
include lt;bits/stdc++.hgt;
using namespace std;
int main()
int d1, m1, y1, d2, m2, y2;
cin gt;gt; d1 gt;gt; m1 gt;gt; y1 gt;gt; d2 gt;gt; m2 gt;gt; y2;
if (y2 - y1 gt; 16)
cout lt;lt; "YES" lt;lt; endl;
return 0;
else if (y2 - y1 lt; 16)
cout lt;lt; "NO" lt;lt; endl;
return 0;
if (m2 gt; m1)
cout lt;lt; "YES" lt;lt; endl;
return 0;
else if (m2 lt; m1)
cout lt;lt; "NO" lt;lt; endl;
return 0;
if (d2 lt; d1)
cout lt;lt; "NO" lt;lt; endl;
return 0;
cout lt;lt; "YES" lt;lt; endl;
return 0;
Файл решения прикреплён.
-
Вопросы ответы
Статьи
Информатика
Статьи
Физика.
Математика.
Разные вопросы.
Разные вопросы.
Математика.
Разные вопросы.
Математика.
Физика.
Геометрия.
Разные вопросы.