Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 14.02.2015, 15:52   #1
vetal1997
 
Регистрация: 22.11.2014
Сообщений: 8
По умолчанию Сортировка времени

Помогите пожалуйста с задачей

Входные данные

Во входном файле записано сначала число N (1 ≤ N ≤ 100), а затем N моментов времени. Каждый момент времени задается 3 целыми числами - часы (от 0 до 23), минуты (от 0 до 60) и секунды (от 0 до 60).

Выходные данные

В выходной файл выведите моменты времени, упорядоченные в порядке неубывания (момент времени также выводится в виде трех чисел, ведущие нули выводить не нужно).
Пример входных данных

4
10 20 30
7 30 00
23 59 59
13 30 30


Пример выходных данных

7 30 0
10 20 30
13 30 30
23 59 59
vetal1997 вне форума Ответить с цитированием
Старый 14.02.2015, 16:22   #2
Iron Monk
Форумчанин
 
Аватар для Iron Monk
 
Регистрация: 05.10.2007
Сообщений: 478
По умолчанию

Я язычок-то какой?
Iron Monk вне форума Ответить с цитированием
Старый 14.02.2015, 16:56   #3
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
Я язычок-то какой?
Врядли тещин )
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 14.02.2015, 17:01   #4
evg_m
Старожил
 
Регистрация: 20.04.2008
Сообщений: 5,526
По умолчанию

если час1 >час2 или час1=час2 и мин1>мин2 или час1 =час2 и мин1 =мин2 и сек1>сек2 то первоебольше
программа — запись алгоритма на языке понятном транслятору
evg_m вне форума Ответить с цитированием
Старый 14.02.2015, 17:18   #5
newerow1989
Я самый любопытный
Участник клуба
 
Аватар для newerow1989
 
Регистрация: 24.07.2012
Сообщений: 1,949
По умолчанию

Перевести в тип real (см. функцию TryEncodeTime):
Код:
Time := (Hour * 3600 + Min * 60 + Sec) / (60 * 60 * 24);
Здесь Time будет находиться в диапазоне от 0 до 1.
А далее отсортировать!

А хотя и без деления подойдет:
Код:
Time := (Hour * 3600 + Min * 60 + Sec);
И получим количество секунд.
С запрограммированным приветом, Неверов Евгений!
Сайт: http://newerow1989.ru
[Паскаль] [Delphi]

Последний раз редактировалось newerow1989; 14.02.2015 в 17:22.
newerow1989 вне форума Ответить с цитированием
Старый 14.02.2015, 17:34   #6
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

Можно еще и в строковый вид преобразовать в виде HHMMSS или как в предыдущем посте, но чуть по другому hh*10000+mm*100+ss, и сортировать простейшим способом, пузырьком
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 14.02.2015, 17:48   #7
rrrFer
Санитар
Старожил
 
Аватар для rrrFer
 
Регистрация: 04.10.2008
Сообщений: 2,577
По умолчанию

Цитата:
Можно еще и в строковый вид преобразовать в виде HHMMSS
Можно просто строки считать и отсортировать их. Ничего преобразовывать ненадо.
rrrFer вне форума Ответить с цитированием
Старый 14.02.2015, 17:50   #8
Iron Monk
Форумчанин
 
Аватар для Iron Monk
 
Регистрация: 05.10.2007
Сообщений: 478
По умолчанию

Цитата:
Сообщение от rrrFer Посмотреть сообщение
Можно просто строки считать и отсортировать их. Ничего преобразовывать ненадо.
Только добавлять лидирующий ноль - где не хватает.
Iron Monk вне форума Ответить с цитированием
Старый 14.02.2015, 17:54   #9
rrrFer
Санитар
Старожил
 
Аватар для rrrFer
 
Регистрация: 04.10.2008
Сообщений: 2,577
По умолчанию

Цитата:
Только добавлять лидирующий ноль - где не хватает.
в выходном их надо удалить (лидирующие нули).

Хотя... хз, пример у тебя странный:
Цитата:
7 30 00
перед 7 почему то нет нуля, но перед нулем - есть ))
rrrFer вне форума Ответить с цитированием
Старый 14.02.2015, 17:56   #10
newerow1989
Я самый любопытный
Участник клуба
 
Аватар для newerow1989
 
Регистрация: 24.07.2012
Сообщений: 1,949
По умолчанию

Цитата:
но перед нулем - есть ))
Где перед нулем?
С запрограммированным приветом, Неверов Евгений!
Сайт: http://newerow1989.ru
[Паскаль] [Delphi]
newerow1989 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Сортировка StringGrid по времени cardon Общие вопросы Delphi 0 04.01.2012 23:47
сортировка массива с замером времени GaLiof JavaScript, Ajax 0 03.10.2010 08:35
Сортировка времени sergio11 Общие вопросы C/C++ 5 06.09.2010 20:44
Хранение даты и времени в Interbase и их сортировка tarakan1983 БД в Delphi 2 01.09.2010 23:47