Миоко Таканава
Гений
(51590)
13 лет назад
На каком языке программирования?
Начало
Ввести h1,m1,s1
Ввести h2,m2,s2
t1 = ((h1 * 60) + m1) * 60 + s1
t2 = ((h2 * 60) + m2) * 60 + s2
dt = t2 - t1
ds = dt mod 60
dt = dt div 60
dm = dt mod 60
dh = dt div 60
Вывод: dh,dm,ds
Конец
P.S. mod - операция получения остатка от деления
div - целочисленное деление
Gennady
Гений
(60348)
13 лет назад
Ну и в чем проблема? Вариантов несколько есть.
1. Время переводится в секунды (Ч*3600 + М*60 +С) и вычитается из большего меньшее. А затем результат целочисленно делится на 3600, это будут часы. То, что осталось делим еще раз на 60, это минуты. Секунды догадаетесь, как получить?
2. Поразрядно вычесть часы минуты и секунды, а затем анализировать разности. Если секунд меньше нуля, прибавить 60 и уменьшить на единицу число минут. Дальше аналогично.