C++ объединение интервалов по времени

304
23 июня 2017, 09:13

Всем привет. Прошу помоч, а то с вложенными циклами каша в голове уже. Суть задачи такая, есть зона структура zone в которую входит массив подзон структура sub_zone, массив sub_zone включает в себя 2 временных интервала QDateTime start и QDateTime end; Структура вложенностей такая:

typedef struct
{
   // текущий интервал
   QDateTime start;
   QDateTime end;
} sTimeInterval;
typedef struct
{
   QList<sTimeInterval> intervals; // множество интервалов
} sVariant;
typedef struct
{
   QList<sVariant> variants; // множество вариантов
} sSubZone;
typedef struct
{
   QList<sSubZone> subZones; // множество подзон
} sZone;

Предположим, что объект структуры Zone zones уже заполнен подзонами их 6 штук в каждую из которых уже включено множество интервалов. Т.е уже всё заполнено. Что нужно? Создать новую структуру Zone resultZones и заполнить её так, что бы массив подзон в данном случае их 6 включали друг друга. Т.е по циклу берется сначала последняя подзона, в данном случае 6-я и объединяются интервал 6 объединяется с 5, 4, 3, 2 , 1 ** данный результат объединения записывается в resultZones которую мы создали. Объединение на каждой итерации происходит с помощью функции которая уже написана TimeIntervals intervalsUnion("интервал 6 подзоны", "интервал 5 подзоны"), как прошли все интервалы подзоны по циклу далее уже аргументы функции (5,4) подзоны и тд. В функции происходит объединение интервалов в цикле как я указал выше и возвращается интервал который записывается в подзону 6. Далее уже берется 5 подзона и объединяется с 4, 3, 2, 1 и записывается в структуру resultZones и тд пока не пройдём все подзоны.

READ ALSO
Не подключается к TCP серверу - Qt

Не подключается к TCP серверу - Qt

Здравствуйте,подскажите пожалуйста,пытаюсь создать "Чат-клиент"Дошел до того, что я создаю сервер и захожу в сам клиент с первого компьютера

386
Плагин для vim на С(++)

Плагин для vim на С(++)

Нужен пример colorer-плагина для vim написанного на С(++)

179
Нет соединения с TCP сервером - Qt

Нет соединения с TCP сервером - Qt

Здравствуйте, подскажите пожалуйста, у меня имеется два приложение, одно - сервер, другое - клиент

406