РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
⊗cppTsTmClL7 74 of 131 menu

Задачи на дату/время в C++. Часть 7

Дан список периодов работы сотрудников:

// пары начала и конца смены: {час, минута} std::vector<std::pair<std::pair<int,int>, std::pair<int,int>>> workPeriods = { {{9, 0}, {18, 0}}, {{10, 0}, {16, 30}}, {{8, 45}, {17, 15}} };

Рассчитайте общее отработанное время в часах и минутах.

Дан производственный календарь с праздниками:

using namespace std::chrono; std::vector<year_month_day> holidays = { 2024y/1/1, 2024y/1/2, 2024y/1/7, 2024y/2/23, 2024y/3/8, 2024y/5/1 };

Рассчитайте количество рабочих дней между двумя датами с учетом праздников.

Дан график работы магазина по дням недели:

// ключ: день недели (1=пн … 7=вс), значение: {час_открытия, час_закрытия} std::map<int, std::pair<int, int>> schedule = { {1, {9, 21}}, {2, {9, 21}}, {3, {9, 21}}, {6, {10, 20}}, {7, {10, 18}} };

Проверьте, открыт ли магазин в заданное время и день недели.

Дан список временных меток событий:

// пары: дата (год, месяц, день) и время (час, минута) struct DateTime { int year, month, day, hour, minute; }; std::vector<DateTime> events = { {2024, 3, 1, 10, 0}, {2024, 3, 1, 14, 30}, {2024, 3, 2, 9, 15}, {2024, 3, 2, 16, 45}, {2024, 3, 3, 11, 20} };

Сгруппируйте события по дням и найдите средний интервал между событиями в каждом дне.

Дан список дедлайнов для задач:

struct DateTime { int year, month, day, hour, minute; }; std::vector<std::pair<std::string, DateTime>> deadlines = { {"Task A", {2024, 3, 5, 17, 0}}, {"Task B", {2024, 3, 7, 12, 0}}, {"Task C", {2024, 3, 10, 23, 59}} };

Рассчитайте для каждой задачи, сколько рабочих часов осталось до дедлайна (рабочий день: 9:00-18:00, пн-пт).

Дан список периодов бронирования:

struct DateTime { int year, month, day, hour, minute; }; std::vector<std::pair<DateTime, DateTime>> bookings = { {{2024, 3, 1, 14, 0}, {2024, 3, 1, 16, 0}}, {{2024, 3, 1, 15, 30}, {2024, 3, 1, 17, 30}}, {{2024, 3, 2, 10, 0}, {2024, 3, 2, 12, 0}} };

Проверьте, есть ли пересечения в периодах бронирования.

Дан список времени в разных часовых поясах:

// город, локальное время (час), смещение от UTC в часах std::vector<std::tuple<std::string, int, int>> times = { {"New York", 12, -5}, {"London", 17, 0}, {"Tokyo", 2, 9} };

Приведите все время к UTC и выведите результат.

Дан список ежедневных измерений температуры:

using namespace std::chrono; std::vector<std::pair<year_month_day, double>> temperatures = { {2024y/3/1, 25.3}, {2024y/3/2, 26.1}, {2024y/3/3, 24.8}, {2024y/3/4, 23.5} };

Рассчитайте скользящее среднее температуры за 3 дня.

Дан график смен сотрудников:

struct DateTime { int year, month, day, hour, minute; }; std::vector<std::tuple<std::string, DateTime, DateTime>> shifts = { {"Ivanov", {2024, 3, 1, 8, 0}, {2024, 3, 1, 20, 0}}, {"Petrov", {2024, 3, 1, 20, 0}, {2024, 3, 2, 8, 0}}, {"Sidorov", {2024, 3, 2, 8, 0}, {2024, 3, 2, 20, 0}} };

Проверьте, что смены покрывают все время без промежутков и наложений.

Дан список дней рождения сотрудников:

using namespace std::chrono; std::vector<std::pair<std::string, year_month_day>> birthdays = { {"Anna", 1990y/3/15}, {"Boris", 1985y/12/31}, {"Olga", 1992y/2/29} };

Рассчитайте возраст каждого сотрудника на текущую дату. Учтите особый случай для рожденных 29 февраля.

Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить