powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Программирование [игнор отключен] [закрыт для гостей] / Алгоритм нахождения одновременно находящихся самолётов в полёте по расписанию.
15 сообщений из 15, страница 1 из 1
Алгоритм нахождения одновременно находящихся самолётов в полёте по расписанию.
    #33423788
jefopjq[vn
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Задача: Есть данные по расписанию - время отправления и время прибытия. Вообщем двухмерный массив с временем отправления и временем прибытия. Нужно выяснить есть ли в какие ли бо моменты времени в которых одновременно в полёте больше 20 самолётов.
Никак немогу сообразить над алгоритмом . Но может кто то уже решал подобные задачи, может даже из классиков Вирт, Кнут... Подскажите плз или киньте ссылки на такого рода алгоритмы, программы. Пишу на VBA под Excel, Си тоже понимаю, да и Паскаль немного.

Сам только до такого додумался:

mput(0, j) - время отпрвления
mput(1, j) - время прибытия
s - количество столбцов в массиве

For f = 1 To s
k = f
Do While mput(1, f) >= mput(0, k + 1) 'Если время прибытия этого самолёта больше времени отправления следующего(массив отсортировал по времени отправления)
odnvr = odnvr+1
k = k + 1
If k > s Then
Exit Do
End If
Loop

If odnvr > 20 Then
MsgBox "Da, bolshe"
End If
odnvr = 0
Next - Метод естественно неполный и непрваильный...
...
Рейтинг: 0 / 0
Алгоритм нахождения одновременно находящихся самолётов в полёте по расписанию.
    #33423795
Tov. Drujba
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Немного смущает "момент времени". Какая точность нужна? Предположим, что до минуты. Теперь делаем второе допущение - самое большое время нахождения самолета в воздухе - 8 часов. Получаем 7:59 минут в сторону обратно от сейчас и столько же в сторону будущего. И того имеем массив из значений -(7*60+59) и +(7*60+59). Т.е. набор точек, на котором можно задать интервалы пребываения самолета в полете. Теперь осталось наложить на эту временную последовательность отрезки нахождения всех самолетов в воздухе и найти пересечения отрезков. Т.е. здесь уже работает элементарная алгебра.
...
Рейтинг: 0 / 0
Алгоритм нахождения одновременно находящихся самолётов в полёте по расписанию.
    #33423822
jefopjq[vn
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Несовсем понял зачем допущение и какой от него толк. Ну у меня тогда 24 часа(в пределах суток) оно. Точность да, до минуты.
Неврубаюсь как реализовать, например массив:
Отпраление Прибытие
1:00 9:00
2:00 3:00
2:30 3:00
3:10 12:00
5:00 6:00
8:00 14:00
...........................
...........................
...
Рейтинг: 0 / 0
Алгоритм нахождения одновременно находящихся самолётов в полёте по расписанию.
    #33424373
Ivanych
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
отсортировать множество времён отправления и прибытия по возрастанию
потом идти по отсортированному списку, для каждого времени отправления увеличивать счётчик самолётов в воздухе на 1, для каждого времени прибытия уменьшать

...
Рейтинг: 0 / 0
Алгоритм нахождения одновременно находящихся самолётов в полёте по расписанию.
    #33426331
jefopjq[vn
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Ivanych
Понял - красивый метод. А я то уже думал....
Спасибо.

А звезда, что означает? Намёк на то что подобная тема уже была? Или это какой то отличительный знак?
...
Рейтинг: 0 / 0
Алгоритм нахождения одновременно находящихся самолётов в полёте по расписанию.
    #33426669
Ivanych
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
jefopjq_vnА звезда, что означает? Намёк на то что подобная тема уже была? Или это какой то отличительный знак?это автоподпись

...
Рейтинг: 0 / 0
Алгоритм нахождения одновременно находящихся самолётов в полёте по расписанию.
    #33478809
Angel Biker
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Ivanychотсортировать множество времён отправления и прибытия по возрастанию
потом идти по отсортированному списку, для каждого времени отправления увеличивать счётчик самолётов в воздухе на 1, для каждого времени прибытия уменьшать




Не все предусмотрено.
если вылет в 23:00 а посадка в 2:00? (

Наверное надо дописать начальное значение счетчика теми самолетами которые уже в воздухе на время взлета/посадки первого самолета после сортировки.

Извините если не в тему.
...
Рейтинг: 0 / 0
Алгоритм нахождения одновременно находящихся самолётов в полёте по расписанию.
    #33478938
Фотография Сергей Ильич
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Angel BikerНе все предусмотрено.
если вылет в 23:00 а посадка в 2:00? (

Наверное надо дописать начальное значение счетчика теми самолетами которые уже в воздухе на время взлета/посадки первого самолета после сортировки.

Извините если не в тему.
Программы для самолетов тебе писать нельзя. Время надо считать в UTC в миллисекундах от начала эпохи.
...
Рейтинг: 0 / 0
Алгоритм нахождения одновременно находящихся самолётов в полёте по расписанию.
    #33478972
AL_KIR
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
время можно считать и с первого января 1970 года,
а еще лучше с первого января 2000 года
...
Рейтинг: 0 / 0
Алгоритм нахождения одновременно находящихся самолётов в полёте по расписанию.
    #33479020
Фотография Сергей Ильич
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AL_KIRвремя можно считать и с первого января 1970 года,
а еще лучше с первого января 2000 года
Ну в общем это зависит от языка/ОС.
...
Рейтинг: 0 / 0
Алгоритм нахождения одновременно находящихся самолётов в полёте по расписанию.
    #33479223
Фотография AndreTM
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
И вообще массив должен быть: Время отправления,Время в пути
...
Рейтинг: 0 / 0
Алгоритм нахождения одновременно находящихся самолётов в полёте по расписанию.
    #33479550
Фотография Сергей Ильич
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AndreTMИ вообще массив должен быть: Время отправления,Время в пути
А что это даст?
...
Рейтинг: 0 / 0
Алгоритм нахождения одновременно находящихся самолётов в полёте по расписанию.
    #33479759
Фотография mef
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сергей Ильич AndreTMИ вообще массив должен быть: Время отправления,Время в пути
А что это даст?
А это и даст решение. Если
Т1 - время отлёта в UTC
Т2 - время посадки в UTC
Тх - время в UTC, в которое требуется узнать количество самолётов,
то
select count(ID_Samolet) from Raspisanie Where
Tx between T1 and T2
вернёт искомое количество.
...
Рейтинг: 0 / 0
Алгоритм нахождения одновременно находящихся самолётов в полёте по расписанию.
    #33481967
Angel Biker
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
2Сергей Ильич
Я пока для самолетов ничего и не программил :)
Просто в примере цифры были по часам.

2mef
Задача была другая.
Надо было определить промежутки времени а не количество самолетов в промежуток.


2ALL
что то мне кажется что тема для автора уже не актуальна.
...
Рейтинг: 0 / 0
Алгоритм нахождения одновременно находящихся самолётов в полёте по расписанию.
    #33483216
Фотография AndreTM
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mefА это и даст решение.
Вот-вот.
Потому что зададим:
T1 - Время отправления - в UTC
Ts - Время в пути - в таких единицах, чтобы получить необходимую точность
вычислений (в часах или минутах или секундах или...)
T2=T1+функция_преобразования_единиц(Ts) - будет тоже в UTC, отпадет
проблема "с 23:00 до 2:00".
А далее, если не жалко ресурсов компа, можем пробежаться по всему
исследуемому периоду и сделать select'ы.
Другой разговор, что первоначальный вопрос стоял немного не так.
...
Рейтинг: 0 / 0
15 сообщений из 15, страница 1 из 1
Форумы / Программирование [игнор отключен] [закрыт для гостей] / Алгоритм нахождения одновременно находящихся самолётов в полёте по расписанию.
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]