Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Алгоритм нахождения одновременно находящихся самолётов в полёте по расписанию.
|
|||
|---|---|---|---|
|
#18+
Задача: Есть данные по расписанию - время отправления и время прибытия. Вообщем двухмерный массив с временем отправления и временем прибытия. Нужно выяснить есть ли в какие ли бо моменты времени в которых одновременно в полёте больше 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 - Метод естественно неполный и непрваильный... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.12.2005, 02:35 |
|
||
|
Алгоритм нахождения одновременно находящихся самолётов в полёте по расписанию.
|
|||
|---|---|---|---|
|
#18+
Немного смущает "момент времени". Какая точность нужна? Предположим, что до минуты. Теперь делаем второе допущение - самое большое время нахождения самолета в воздухе - 8 часов. Получаем 7:59 минут в сторону обратно от сейчас и столько же в сторону будущего. И того имеем массив из значений -(7*60+59) и +(7*60+59). Т.е. набор точек, на котором можно задать интервалы пребываения самолета в полете. Теперь осталось наложить на эту временную последовательность отрезки нахождения всех самолетов в воздухе и найти пересечения отрезков. Т.е. здесь уже работает элементарная алгебра. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.12.2005, 03:20 |
|
||
|
Алгоритм нахождения одновременно находящихся самолётов в полёте по расписанию.
|
|||
|---|---|---|---|
|
#18+
Несовсем понял зачем допущение и какой от него толк. Ну у меня тогда 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 ........................... ........................... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.12.2005, 05:18 |
|
||
|
Алгоритм нахождения одновременно находящихся самолётов в полёте по расписанию.
|
|||
|---|---|---|---|
|
#18+
отсортировать множество времён отправления и прибытия по возрастанию потом идти по отсортированному списку, для каждого времени отправления увеличивать счётчик самолётов в воздухе на 1, для каждого времени прибытия уменьшать ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.12.2005, 10:54 |
|
||
|
Алгоритм нахождения одновременно находящихся самолётов в полёте по расписанию.
|
|||
|---|---|---|---|
|
#18+
Ivanych Понял - красивый метод. А я то уже думал.... Спасибо. А звезда, что означает? Намёк на то что подобная тема уже была? Или это какой то отличительный знак? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.12.2005, 04:59 |
|
||
|
Алгоритм нахождения одновременно находящихся самолётов в полёте по расписанию.
|
|||
|---|---|---|---|
|
#18+
jefopjq_vnА звезда, что означает? Намёк на то что подобная тема уже была? Или это какой то отличительный знак?это автоподпись ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.12.2005, 10:20 |
|
||
|
Алгоритм нахождения одновременно находящихся самолётов в полёте по расписанию.
|
|||
|---|---|---|---|
|
#18+
Ivanychотсортировать множество времён отправления и прибытия по возрастанию потом идти по отсортированному списку, для каждого времени отправления увеличивать счётчик самолётов в воздухе на 1, для каждого времени прибытия уменьшать Не все предусмотрено. если вылет в 23:00 а посадка в 2:00? ( Наверное надо дописать начальное значение счетчика теми самолетами которые уже в воздухе на время взлета/посадки первого самолета после сортировки. Извините если не в тему. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.01.2006, 13:08 |
|
||
|
Алгоритм нахождения одновременно находящихся самолётов в полёте по расписанию.
|
|||
|---|---|---|---|
|
#18+
Angel BikerНе все предусмотрено. если вылет в 23:00 а посадка в 2:00? ( Наверное надо дописать начальное значение счетчика теми самолетами которые уже в воздухе на время взлета/посадки первого самолета после сортировки. Извините если не в тему. Программы для самолетов тебе писать нельзя. Время надо считать в UTC в миллисекундах от начала эпохи. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.01.2006, 13:39 |
|
||
|
Алгоритм нахождения одновременно находящихся самолётов в полёте по расписанию.
|
|||
|---|---|---|---|
|
#18+
время можно считать и с первого января 1970 года, а еще лучше с первого января 2000 года ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.01.2006, 13:48 |
|
||
|
Алгоритм нахождения одновременно находящихся самолётов в полёте по расписанию.
|
|||
|---|---|---|---|
|
#18+
AL_KIRвремя можно считать и с первого января 1970 года, а еще лучше с первого января 2000 года Ну в общем это зависит от языка/ОС. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.01.2006, 13:59 |
|
||
|
Алгоритм нахождения одновременно находящихся самолётов в полёте по расписанию.
|
|||
|---|---|---|---|
|
#18+
И вообще массив должен быть: Время отправления,Время в пути ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.01.2006, 14:59 |
|
||
|
Алгоритм нахождения одновременно находящихся самолётов в полёте по расписанию.
|
|||
|---|---|---|---|
|
#18+
AndreTMИ вообще массив должен быть: Время отправления,Время в пути А что это даст? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.01.2006, 16:29 |
|
||
|
Алгоритм нахождения одновременно находящихся самолётов в полёте по расписанию.
|
|||
|---|---|---|---|
|
#18+
Сергей Ильич AndreTMИ вообще массив должен быть: Время отправления,Время в пути А что это даст? А это и даст решение. Если Т1 - время отлёта в UTC Т2 - время посадки в UTC Тх - время в UTC, в которое требуется узнать количество самолётов, то select count(ID_Samolet) from Raspisanie Where Tx between T1 and T2 вернёт искомое количество. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.01.2006, 17:41 |
|
||
|
Алгоритм нахождения одновременно находящихся самолётов в полёте по расписанию.
|
|||
|---|---|---|---|
|
#18+
2Сергей Ильич Я пока для самолетов ничего и не программил :) Просто в примере цифры были по часам. 2mef Задача была другая. Надо было определить промежутки времени а не количество самолетов в промежуток. 2ALL что то мне кажется что тема для автора уже не актуальна. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.01.2006, 16:35 |
|
||
|
Алгоритм нахождения одновременно находящихся самолётов в полёте по расписанию.
|
|||
|---|---|---|---|
|
#18+
mefА это и даст решение. Вот-вот. Потому что зададим: T1 - Время отправления - в UTC Ts - Время в пути - в таких единицах, чтобы получить необходимую точность вычислений (в часах или минутах или секундах или...) T2=T1+функция_преобразования_единиц(Ts) - будет тоже в UTC, отпадет проблема "с 23:00 до 2:00". А далее, если не жалко ресурсов компа, можем пробежаться по всему исследуемому периоду и сделать select'ы. Другой разговор, что первоначальный вопрос стоял немного не так. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.01.2006, 03:56 |
|
||
|
|

start [/forum/topic.php?fid=16&msg=33479550&tid=1347162]: |
0ms |
get settings: |
9ms |
get forum list: |
20ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
143ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
65ms |
get tp. blocked users: |
2ms |
| others: | 244ms |
| total: | 506ms |

| 0 / 0 |
