#include <iostream>
using namespace std;
int main()
{
const int time = 86400;
int a;
cout << "Enter the time in seconds elapsed since the beginning of the day" << endl;
cin >> a;
int hh = a % time / 3600;
int mm = a / 60 % 60;
int ss = a % 60;
int endhh, endmm, endss;
int tmp = hh * 3600 + mm * 60 + ss;
tmp = time - tmp;
endhh = tmp / 3600;
endmm = tmp / 60 - endhh * 60;
endss = tmp - endmm * 60 - endhh * 3600;
cout << "Now is: " << hh << " hh: " << mm << " mm: " << ss << " ss" << endl;
cout << "before the midnight: " << endhh << " hh: " << endmm << " mm: " << endss << " ss" << endl;
return 0;
}
Объяснение:
ПОЧАТОК
1. НАПОВНИТИ *7* // маємо 7 л
2. ПЕРЕЛИТИ з *7* в *2* // лишилось 5 л у *7*
3. ВИЛИТИ *2* // *2* - порожній
4. ПЕРЕЛИТИ з *7* у *2* // лишилось 3 л у *7*
КІНЕЦЬ
Пояснення
*7* і *2* - глечики
НАПОВНИТИ Х - команда означає набрати в глечик Х стільки води, щоб він став повним
ПЕРЕЛИТИ з Х в У - команда означає перелити з глечика Х в глечик У стільки води, щоб глечик У став повним
ВИЛИТИ Х - команда означає вилити з глечика Х всю воду
Все, що розміщено після // і до кінця рядка - коментар (виконавець його ігнорує)