0 / 0 / 0
Регистрация: 16.01.2021
Сообщений: 13

Определить период времени, прошедший между соответствующими событиями

16.01.2021, 08:45. Показов 2246. Ответов 1

Author24 — интернет-сервис помощи студентам
Помогите пожалуйста с решением. Код нужен на С++
Информация о дате и времени наступления какого-либо события, определенных с точностью
до секунды, записывается в виде DD.MM.YYYY hh:mm:ss где DD – номер дня (от 01 до
последнего дня месяца), MM – номер месяца (от 01 до 12), YYYY – год (от 1801 до 2100), hh,
mm, ss – соответственно час (от 00 до 23), минута (от 00 до 59) и секунда (от 00 до 59)
наступления события. Записи о дате и времени разделяются одним пробелом. Например,
информация о событии, наступившем в полночь с 1 на 2 февраля 2005 года, будет записана
как 02.02.2005 00:00:00 На основании двух корректных записей в формате, описанном выше,
вам требуется определить, сколько секунд прошло между соответствующими событиями.
Известно, что первое событие наступило не позже второго. Переходы с летнего времени на
зимнее и обратно, а также от старого стиля к новому следует игнорировать. При решении
задачи необходимо учитывать правила определения високосных лет: год считается
високосным, если его номер делится на 4 Однако если номер года делится на 100, но не
делится на 400, год не является високосным. Так, 2000 год – високосный, а 1900 и 2100 годы
– нет.
Входные данные читаются из стандартного потока ввода и состоят из двух строк. Каждая
строка содержит запись о наступлении одного события.
Выходные данные помещаются в стандартный поток вывод и содержат единственную строку
с найденной величиной.
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
16.01.2021, 08:45
Ответы с готовыми решениями:

Определить интрвал времени между двумя событиями
Доброго времени суток! Не могу справиться с задачей: нажимаю на форме button и начинается отсчёт времени, а когда нажимаю buuton2 то...

Расчет времени между событиями
Всем добрый день. Не получается решить задачу Описание: Клиент пользуется сайтом, выполняя действия, которые логируются. Нужно найти...

Как узнать сколько времени прошло между событиями
group.DataChanged += new Opc.Da.DataChangedEventHandler(group_DataChanged); Не могу сообразить куда выставить sWatch.Start();...

1
913 / 339 / 135
Регистрация: 18.07.2017
Сообщений: 1,485
09.02.2021, 15:13
Цитата Сообщение от Dessert Посмотреть сообщение
Помогите пожалуйста с решением
А сам палец о палец не ударил?
Цитата Сообщение от Dessert Посмотреть сообщение
Код нужен на С++
Держи высококачественный индусский код раз самому лень разбираться.
C++
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
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
#include <iostream>
#include <omp.h>
 
using namespace std;
 
int main(){
    #ifdef __DEBUG
        char date1[20] = "02.03.1992 22:21:21";
        char date2[20] = "02.03.1992 21:21:21";
    #else
        char date1[20] = {"                   "};
        char date2[20] = {"                   "};
        std::cin    >> date2 >> date2 + 11
                    >> date1 >> date1 + 11;
    #endif
 
    long long days_year = 0;
    #pragma omp parallel reduction (+: days_year)
    {
        #pragma omp parallel for
        for(size_t year = atoi(date2+6), end = atoi(date1+6); year < end; year++){
            days_year += 355 + (year > 1582 && year % 4 == 0 && (year % 400 == 0 || year % 100 != 0));
        }
    }
 
    long long days_mount = 0;
    size_t end = (atoi(date1+3) >= atoi(date2+3)) ? atoi(date1+3) : atoi(date1+3) + 12;
    #pragma omp parallel reduction (+: days_mount)
    {
        #pragma omp parallel for
        for(size_t mount = atoi(date2+3); mount < end; mount++){
            switch((mount-1) % 12){
                case 0:
                case 2:
                case 4:
                case 6:
                case 7:
                case 9:
                case 11:
                    days_mount += 31;
                    break;
                case 1:
                    days_mount += 28 + (atoi(date2+6) > 1582 && atoi(date2+6) % 4 == 0 && (atoi(date2+6) % 400 == 0 || atoi(date2+6) % 100 != 0));
                    break;
                default:
                    days_mount += 30;
            }
        }
    }
 
    long long days = days_year + days_mount + atoi(date1) - atoi(date2);
    long long secs = ((days*24 + atoi(date1+11) - atoi(date2+11))*60 + atoi(date1+14) - atoi(date2+14))*60 + atoi(date1+17) - atoi(date2+17);
    std::cout << secs << '\n';
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
09.02.2021, 15:13
Помогаю со студенческими работами здесь

Определить время между двумя событиями
Время наступления событий фиксируют в часах, минутах, секундах. Определить время между двумя событиями.

Определить величину максимальной разности между соответствующими элементами двух массивов
Помогите решить, а то сам ужасно туплю: Определить величину максимальной разности между соответствующими элементами двух массивов и...

Как определить количество прошедших минут между двумя событиями?
Программа периодически выполняет какие-нибудь измерения и если наступила новая минута, то их записывает в базу данных. В течении нескольких...

Определить попадание периода времени в другой период
Привет! Есть задача по определению количества одновременных звонков в заданный период времени. Есть массив данных, содержащий...

Определить период времени когда на сайте было максимальное количество посетителей
Написать программу. Сайт работает с 00:00 до 24:00 (круглосуточно) при этом фиксируется время захода и время выхода с него для каждого...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Опции темы

Новые блоги и статьи
Динамические массивы в C++ - создание и использование
NullReferenced 27.04.2025
Динамические массивы представляют собой один из фундаментальных инструментов программирования на C++, позволяющий создавать структуры данных, размер которых определяется во время выполнения. . .
Асинхронный JavaScript: Промисы, Async/Await и Fetch API
Reangularity 27.04.2025
Пользователь заходит на веб-страницу, нажимает кнопку и. . . ничего не происходит. Сайт словно замер. Через несколько секунд всё внезапно оживает, но пользователь уже успел закрыть вкладку. Знакомая. . .
Management on GitLab and repository management in Visual Studio code
jigi33 27.04.2025
- repo management on GitLab - CI/ CD in GitLab - VCS repository management in Visual Studio code (see attachments)
Kanban или Scrum - что выбрать?
EggHead 27.04.2025
Kanban и Scrum — уже много лет удерживают лидирующие позиции среди гибких подходов. Руководители проектов и команды разработчиков то и дело сталкиваются с дилеммой: какой из этих двух методов выбрать. . .
Кастомные Middleware на C# в ASP.NET Core
UnmanagedCoder 27.04.2025
Разработка веб-приложений сегодня мало напоминает монолитное программирование прошлых лет. На смену громоздким блокам кода пришла модульная архитектура, где каждый компонент выполняет строго. . .
Анализ и линтинг кода JavaScript: ESLint, Prettier и JSHint
run.dev 26.04.2025
JavaScript прошёл долгий путь от простого языка для анимации веб-страниц до основы современной веб-разработки. С ростом сложности приложений, увеличением кодовых баз и масштабированием команд. . .
Паттерны в Python: Singleton, Factory и Observer
py-thonny 26.04.2025
Паттерны проектирования — это проверенные временем решения типовых проблем разработки программного обеспечения. Их история берёт начало с книги "Приёмы объектно-ориентированного проектирования. . . .
Исключения в C#: Stack Overflow, Access Violation и Out of memory
stackOverflow 26.04.2025
Исключения в C# — это не только механизм оповещения о проблемах, а целое искусство управления потоком выполнения программы в экстремальных ситуациях. Обычное исключение, например,. . .
Логирование в C# ASP.NET Core с помощью Serilog, ElasticSearch, Kibana
stackOverflow 25.04.2025
Помните те времена, когда для анализа проблемы приходилось подключаться к серверу, искать нужный лог-файл среди десятков других и вручную фильтровать тысячи строк в поисках ошибки? К счастью, эти дни. . .
Структура "железный OnKeyUp" вместо антидребезга. Полностью асинхронный счётчик.
Hrethgir 25.04.2025
Программа для симуляции схемы - Logisim Evolution В общем какое-то время отвлёкся, так было надо, теперь когда запилю это на verilog и FPGA , досоставлю заявку в ФИПС на полезную модель - не готов. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru