Задача на поиск времени c++

138
02 июня 2019, 15:00

Дано время в 3х переменных (H - часы, M - минуты, S - секунды), нужно найти количество секунд до ближайшего следующего времени 11:11:11, задача вроде простая, но когда дается время больше(например 12:11:11) не понимаю как это сделать, написал такой код, пытался найти время даже если оно больше, но судя по всему где-то ошибся. Помогите найти ошибку пожалуйста.

Пример ввода-вывода:

Ввод:

11 10 10

Вывод : 61(Секунд до следующего ближайшего времени 11 11 11)

Мой код :

#include <fstream>
#include <cmath>
using namespace std;
int main() {
    ifstream inp;
    ofstream otp;
    inp.open("input.txt");
    otp.open("output.txt");
    int h = 0, m = 0, s = 0, ans = 0;
    inp >> h >> m >> s;
    if (h == m && m == s && s == 11) {
        otp << 86400;
    }
    else {
        if (h <= 11 && m <= 11 && s < 11) {
            otp << (((11 - h) * 3600) + ((11 - m) * 60) + 11 - s);
        }
        else {
            otp << 86400 - (((3600 * h) + (60 * m) + s) - ((3600 * 11) + (60 * 11) + 11));
        }
    }
    return 0;
}
Answer 1

Примерно так?

const int T = 11*3600+11*60+11;
int t = h*3600+m*60+s;
if (t < T) 
    otp << T-t;
else
    otp << T+86400-t;
Answer 2
targetSeconds = 11 * 3600 + 11 * 60 + 11;
inputSeconds = h * 3600 + m * 60 + s;
result = targetSeconds - inputSeconds;
if (result <= 0)
  result = result + 86400;
READ ALSO
Сумма цифр числа 100!

Сумма цифр числа 100!

Написал код для подсчета суммы цифр в числе 100! для решения задачи на Проекте ЭйлераДо этого успешно использовал кусок кода, который непосредственно...

133
Упорядочивание файлов в папке

Упорядочивание файлов в папке

Есть вот такая задачка:

138
тип float в бинарный вид C++

тип float в бинарный вид C++

Задача из универа: Для числа типа float при выводе на экран его битового представления указать знаковый бит, порядок и мантиссуЧисло вводят...

187