В связи с участившимися случаями спама, у вновь зарегистрированных пользователей отключена возможность создания сообщений на форуме. Возможность писать сообщения будет включаться администратором вручную — через некоторое время после регистрации пользователя. Для включения этой функции быстрее, пишите личное сообщение администратору сайта (в сообщении напишите кратко о себе и с какой целью регистрировались на сайте).
Обратите внимание: пользователям, нарушающим п.2.1 возможность писать сообщения включаться не будет!
Просим отнестись с пониманием: это вынужденная мера.
Поскольку образцы рабочего кода для конвертации секунд в ч:м:с не желают никак иссякать, заделал еще пару вариантов :
Этот вариант уже отходит от корректного математического представления кода по аналогии с кодом ТОРа №2. Это добавило скорости, и серия замеров показала, что этот вариант быстрее последнего кода ТОРа на 24%.
Код:
#include <iostream>
using namespace std ;
int main() {
int allsec=0, second, minute, hour;
//Ввод секунд
cout << "Input seconds: " ;
cin>>allsec;
hour = allsec / 3600 ; // часы
second = allsec / 60; // экономим переменную :)
minute = second - hour*60 ; //минуты текущего времени
second = allsec - second*60 ; //секунды текущего времени
Но не тут-то было, ожидания прироста скорости оказались напрасными. Этот вариант оказался в два раза медленнее(!) чем предыдущий! Проверял в двух компиляторах vc++ и mingw(тут и синтаксис ассемблера другой), результат один - ассемблерная вставка примерно в два раза медленнее!
Поэтому первый вариант кода в этом посте является на данный момент наиболее оптимальным для дальнейшего применения.
Надеюсь увидеть еще более оптимальные варианты кода конвертации секунд в Ч:М:С
Корректная работа кода проверена в ВизуалСи++ 6.0. Проверялись значения allsec вплоть до 2000000000 дабы исключить подозрения в недостаточном диапазоне значений переменной типа int. _________________ "Кто к нам с мечом придет, тот от меча и погибнет!" Александр Невский
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете голосовать в опросах