Дано время в 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;
}
Примерно так?
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;
targetSeconds = 11 * 3600 + 11 * 60 + 11;
inputSeconds = h * 3600 + m * 60 + s;
result = targetSeconds - inputSeconds;
if (result <= 0)
result = result + 86400;
Виртуальный выделенный сервер (VDS) становится отличным выбором
Написал код для подсчета суммы цифр в числе 100! для решения задачи на Проекте ЭйлераДо этого успешно использовал кусок кода, который непосредственно...
Задача из универа: Для числа типа float при выводе на экран его битового представления указать знаковый бит, порядок и мантиссуЧисло вводят...