Поезда На Вокзале

Тема в разделе "C/C++/C#", создана пользователем marsiputkin, 19 ноя 2012.

  1. marsiputkin

    marsiputkin Гость

    Задача состоит в том, чтобы реализовать программу, которая будет вычислять встречи поездов на станции.

    Станция Вокзал имеет n путей. Каждый путь посвящен одному позду (маршруту). Каждый поезд имеет свой фиксированный интервал (например, отходит каждые два часа), интервалы различны для разных поездов. 17 сентября 2012 в 7:30 на Вокзале был праздник - все поезда встретились на вокзале. Г-н Высший Начальник хочет знать, когда же праздник будет в след.раз. Задачей программы это рассчитать.

    Началом программы является ввод кол-ва поездов (n<20) Потом интервалы для каждого поезда (mm:hh)

    На выходе рассчитывается время, в которое все поезда снова встретятся на Вокзале. Это значение отображается опять (mm:hh). Выходной формат видно из приведенных ниже примеров. Не забывайте о ":" в строке ввода.

    Расчетное время встречи может быть очень высоко. Если вычисленное значение, выраженное в минутах, не помещаетмя в unsigned int, программа должна обнаружить это (опять же см. пример).

    Если вход не является допустимым (ввод нечисельных или бессмысленные значения), программа обнаружит это и отобразит сообщение об ошибке. Формат сообщения об ошибке снова показан в примерах ниже. Рассматривается как ошибка при входе:

    нечисловое значение,
    фиктивные значения (количество поездов за пределами 1-20, отрицательные часы или минуты, минуты выше 59) или
    нулевой интервал отправления поезда.
    Если программа обнаруживает ошибку, он останавливает запросить другие значения ввода, вывода сообщения об ошибке и завершает работу. Ошибка Поэтому необходимо обнаружить сразу же после загрузки значения (поместить данные входного контроля следует извлечь для входа). Заклинание сообщение об ошибке на стандартный вывод (nevypisujte его в стандартный вывод ошибок).

    Следуйте точный формат никаких заявлений. Листинг ваша программа должна точно соответствовать примеров. Тестирование выполняется машиной, которая управляет извлечь точное совпадение. При перечислении ваша программа отличается от эталонного выход, ваш ответ считается неправильным. Также зависит от расстояния, а строки. Не забывайте о новой строки после последней строки вывода (и любого сообщения об ошибке). Используйте комплект архива с тест входов и выходов и читать FAQ раздел о том, как использовать перенаправление ввода / вывода для тестирования программы.

    Ваша программа будет работать в ограниченном тестовой среде. Это ограниченное время автономной работы (предел проявляется в решении ссылкой журнала, см. также примечания ниже), а также ограничена объемом доступной памяти (но эта задача не будет иметь проблемы ограничения памяти). Тестовая среда также запрещает использование определенных "опасный инструмент" - функция для запуска программы для работы с ... Если эти функции используются, программа не запустится. Может быть, в вашей программе с помощью вызова:

    Код C
    1
    2
    3
    4
    5
    6
    7
    8
    Int main (Int argc, char * ARGV [])
    {

    **...
    **
    **system ("pause"); /*что бы не закрылось окно программы*/
    **return 0;
    }
    Демонстрация программы:

    Введите кол-во поездов:
    1
    интервал движения поезда 1:
    1:23
    Все поезда встретятся в: 1:23
    Между тем, проедет:
    * Поезд 1: 0x.

    Введите кол-во поездов:
    2
    интервал движения поезда 1:
    0:12
    интервал движения поезда 2:
    0:45
    Все поезда встретятся в: 3:00
    Между тем, проедут:
    * Поезд 1: 14x и
    * Поезд 2: 3x.

    Введите кол-во поездов:
    3
    интервал движения поезда 1:
    0:15
    интервал движения поезда 2:
    2:30
    интервал движения поезда 3:
    1:20
    Все поезда встречаются друг с другом в: 20:00
    Между тем, проедут:
    * Поезд 1: 79x,
    * Поезд 2: 7x и
    * Поезд 3: 14x.

    Введите кол-во поезда:
    5
    интервал движения поезда 1:
    1:30
    интервал движения поезда 2:
    2:15
    интервал движения поезда 3:
    3:17
    интервал движения поезда 4:
    0:15
    интервал движения поезда 5:
    0:20
    Все поезда встречаются друг с другом в: 1773:00
    Между тем, за проедут:
    * Поезд 1: 1181x,
    * Поезд 2: 787x,
    * Поезд 3: 539x,
    * Поезд 4: 7091x и
    * Поезд 5: 5318x.

    Введите кол-во поезда:
    5
    интервал движения поезда 1:
    49:17
    интервал движения поезда 2:
    49:23
    интервал движения поезда 3:
    49:29
    интервал движения поезда 4:
    49:31
    интервал движения поезда 5:
    49:59
    результат превысил макс.значение.

    Введите кол-во поездов:
    абц
    Неправильный ввод.

    Введите кол-во поездов:
    2
    интервал движения поезда 1:
    1: -5
    Неправильный ввод.

    Извиняюсь за возможные грамматические ошибки, переводил с чешского. Буду признателен за любую помощь в решении данной задачи=)
     
Загрузка...

Поделиться этой страницей