Разработать функцию которая принимает к-во часов, а возвращ. сколько недель, дней, часов с преминением указателей - C (СИ)
Формулировка задачи:
Вложение 382949
Решение задачи: «Разработать функцию которая принимает к-во часов, а возвращ. сколько недель, дней, часов с преминением указателей»
textual
Листинг программы
int convert_hours(int time, int* weeks, int* days, int* hours)
{
if( time < 0 ) return 0;
*hours = time % 24;
time /= 24;
*days = time % 7;
time /= 7;
*weeks = time;
return 1;
}
Объяснение кода листинга программы
- Входные данные: время в часах (time), указатель на количество недель (weeks), указатель на количество дней (days), указатель на количество часов (hours).
- Проверка на отрицательное время. Если время отрицательное, то функция возвращает 0.
- Разделение входного времени на часы, сохраняя остаток в переменной hours.
- Деление времени на 24 для получения количества дней, сохраняя остаток в переменной days.
- Деление времени на 7 для получения количества недель, сохраняя остаток в переменной weeks.
- Установка значения переменной time равным количеству недель.
- Возврат 1.