Консультация № 65520
04.12.2006, 17:23
0.00 руб.
0 5 1
Доброго времени суток.
Мне надо решить такую задачу-
Задано время входа и время вихода посетителей в музей.
Найти промежуток времени , на протяжении которого одновременно в музее находилось максимальное(минимальное) количество посетителей.
Моя проблема в том , што я не знаю как сравнивать время.
Время задано в формате ЧЧ.ММ
Заранее благодарен.

Обсуждение

давно
Мастер-Эксперт
425
4118
04.12.2006, 18:06
общий
В Turbo Pascal нет специального формата для хранения времени (в отличие от Delphi или FreePascal). Однако есть специальная функция, которая переводит структуру, в которой хранится дата и время, в переменную типа LongInt. А две переменные LongInt уже можно сравнивать.Структура для хранения даты и времени:DateTime = recordYear, Month, Day, Hour, Min, Sec: Word;End;Перевод в LongInt:PackTime(var dt: DateTime; var Time: LongInt);Обратное преобразование:UnPackTime(Time: LongInt; var dt: DiteTime);Формат DiteTime удобно применять для индикации времени или даты.Обе функции находятся в модуле Dos.
Об авторе:
Я только в одном глубоко убеждён - не надо иметь убеждений! :)
Неизвестный
04.12.2006, 18:27
общий
Спасибо.И еще вопрос Как мне искать нужний промежуток?
Неизвестный
04.12.2006, 18:45
общий
Например, последовательно перебрать все моменты времени - у вас же дискретное время.
давно
Мастер-Эксперт
425
4118
04.12.2006, 18:54
общий
Ищите методом научного тыка. :))Лично мне нравится как к этому делу подходят в аудиотехнике, когда переводят звук в цифровой формат.Т.е. метод выборок. Например каждые пять минут происходит подсчет кол-ва посетителей. Потом на основе полученных данных время-количество строится график, который наглядно показывает в какой промежуток времени был наибольший наплыв посетителей. :)
Об авторе:
Я только в одном глубоко убеждён - не надо иметь убеждений! :)
Неизвестный
05.12.2006, 02:46
общий
это ответ
Здравствуйте, Nightman!
Попробйте все перевести в секунды. Тогда и сравнивать будет легче.
Форма ответа