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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 31.03.2010, 15:54   #1
monty "2"
Пользователь
 
Регистрация: 27.11.2009
Сообщений: 26
По умолчанию Работа со временем без типа Data

Имеется задача:

Заданы моменты начала и конца некоторого периода времени в часах, минутах и секундах. Найти продолжительность этого периода в том же виде
(в пределах одних суток).

Задача вроде простая НО как ее реализовать не используя тип данных Data?
monty "2" вне форума Ответить с цитированием
Старый 31.03.2010, 16:06   #2
Google2010
Форумчанин
 
Регистрация: 16.02.2010
Сообщений: 316
По умолчанию

Код:
 ks:=h1*3600+m1*60+s1-s2-m2*60-h2*3600;// количество секунд между h2:m2:s2 и h1:m1:s1 

s:=ks mod 60;// секунды
h:=(ks-s) div 3600;//часы
m:=(ks-s-h*3600)/60;//минуты

Последний раз редактировалось Google2010; 31.03.2010 в 17:42.
Google2010 вне форума Ответить с цитированием
Старый 31.03.2010, 16:12   #3
Tirendus
Форумчанин
 
Аватар для Tirendus
 
Регистрация: 20.03.2009
Сообщений: 272
По умолчанию

Например, время начала - 5:30:25, а конца - 12:40:11. В таком виде примерно? Если да, просто все время переведите в секунды, от конца отнимите начало и переведите секунды обратно в заданный формат. Главное учитывать, что нет такой вещи, как 60 минут - это уже 1 час и нет такой вещи, как 60 секунд - это уже 1 минута.
Tirendus вне форума Ответить с цитированием
Старый 31.03.2010, 17:34   #4
monty "2"
Пользователь
 
Регистрация: 27.11.2009
Сообщений: 26
По умолчанию

не понятно немного, можно в коде?
monty "2" вне форума Ответить с цитированием
Старый 31.03.2010, 18:00   #5
monty "2"
Пользователь
 
Регистрация: 27.11.2009
Сообщений: 26
По умолчанию

спасибо, попробую в таком варианте
monty "2" вне форума Ответить с цитированием
Старый 31.03.2010, 18:46   #6
monty "2"
Пользователь
 
Регистрация: 27.11.2009
Сообщений: 26
По умолчанию

а если первая дата меньше второй?
monty "2" вне форума Ответить с цитированием
Старый 31.03.2010, 18:51   #7
Google2010
Форумчанин
 
Регистрация: 16.02.2010
Сообщений: 316
По умолчанию

Цитата:
Заданы моменты начала и конца некоторого периода времени (в пределах одних суток).
как тут начало может быть больше конца)
ну или накрайняк
Код:
ks:=abs(h1*3600+m1*60+s1-s2-m2*60-h2*3600);
Google2010 вне форума Ответить с цитированием
Старый 31.03.2010, 18:54   #8
monty "2"
Пользователь
 
Регистрация: 27.11.2009
Сообщений: 26
По умолчанию

у меня когда тестили первоначальный вариант то вбили первую дату 19:10:50 а вторую 20:20:25, все и развалилось

сейчас на переменной m касяк какойто с типами, [Error] Unit1.pas(71): Incompatible types: 'Integer' and 'Extended', переменные объявлены как integer, floatTOint и наоборот не работает.

Последний раз редактировалось monty "2"; 31.03.2010 в 19:19.
monty "2" вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
ЧТо-то типа цикла, но с временем ROD Общие вопросы C/C++ 14 08.01.2009 16:50
Работа со временем в C++ +As+ Помощь студентам 1 02.09.2008 21:17
Работа со временем. ekzi Общие вопросы C/C++ 1 22.07.2008 15:29
Работа со временем joker Общие вопросы Delphi 4 20.04.2008 15:01
работа с временем TTime; Рустам Общие вопросы Delphi 4 04.02.2008 13:46