Математика, Физика, Computer Science, Machine Learning, LaTeX, Механика и Техника, Химия, Биология и Медицина, Экономика и Финансовая Математика, Гуманитарные науки
Хочу сделать программу на C++ которая определяла бы середину временного промежутка, например вводишь 19.00 и 21.00 она выводила бы 20.00.
Мысли такие: считать счетчиком в цикле минуты, поделить на 2 посчитать от начального времени до нового значения счетчика
какие в C++ существуют операции со временем? Есть ли путь легче?
mustitz
Re: Определение середины временного промежутка (С++)
10.10.2012, 18:39
Если временной промежуток задан без даты, то проще все перевести в минуты (int) и работать с ним. Если временной промежуток включает дату, то ее можно перевести во float/double формат (OLE-представление времени или юлианская дата) и работать уже с ней. Заодно поискать библиотеки, которые бы осуществили нужное преобразование.
Munin
Re: Определение середины временного промежутка (С++)
10.10.2012, 19:10
Превратить в число. Выполнять какую угодно арифметику. Превратить обратно во время.
По сути, время - это число, записанное в неудобной системе счисления: 60 секунд, 60 минут, 24 часа, 365 дней (если не мельчить, что было бы ещё неудобнее), дальше число лет.
Кстати, наша позиционная система счисления происходит из таких неудобных систем, применявшихся для расстояния, веса, денег. Первоначально даже не было понятия о целой части и дробной части числа, а число рассматривалось состоящим из "больших" частей и "малых" частей, как денежная сумма выражается каким-то количеством рублей и каким-то количеством копеек. Сотня называлась "большим десятком", тысяча - "большой сотней", миллион (или 10 000) - "большой тысячей", миллиард - "большим миллионом".
arseniiv
Re: Определение середины временного промежутка (С++)