Найти минимальное время до того, как минутная и часовая стрелки совпадут - C (СИ)
Формулировка задачи:
Даны целые числа m и n, которые определяют время суток (0<=m<=11; 0<=n<=69). Найти минимальное время, которое пройдет до того момента, когда минутная и часовая стрелка на циферблате совпадут...
Хелп, уже все идеи кончились..
Решение задачи: «Найти минимальное время до того, как минутная и часовая стрелки совпадут»
textual
Листинг программы
#include <stdio.h>
#include <stdlib.h>
int main()
{
int m, n = 0, i = 0, c, d, n1;
printf("Vvedite chasy\n");
scanf("%d", &m);
printf("Vvedite minuti\n");
scanf("%d", &n1);
if( m <= 11 && m >= 0){
if(m == 0){
m = 0;
n = 59;
}
else
for(c = 1, i = -1; c <= 11; c = c + 2, ++i ){
if(m == c)
n = c*5 + i;
}
for(d = 2, i = -1; d <= 10; d = d + 2, ++i ){
if(m == d)
n = d*5 +i;
}
}
if(n1 > n)
n = (60 - n1) + n;
else
n = n - n1;
printf("Minimalnoe vremya do sovpadenia strelok %d min", n + 1);
return 0;
}
Объяснение кода листинга программы
- Программа считывает время на часах (переменная m) и минуты (переменная n1) с помощью функции scanf.
- Если часы находятся в диапазоне от 0 до 11, то программа проверяет каждую пару часов и минут (от 1 до 11) и обновляет значение переменной n, если часы совпадают.
- Если часы находятся в диапазоне от 12 до 23, то программа проверяет каждую пару часов и минут (от 2 до 12) и обновляет значение переменной n, если часы совпадают.
- Если минуты больше, чем текущее время, то программа обновляет значение переменной n, чтобы учесть это.
- Если минуты меньше, чем текущее время, то программа обновляет значение переменной n, чтобы учесть это.
- Программа выводит минимальное время до того, как минутная и часовая стрелки совпадут.
- Программа возвращает 0, чтобы указать, что она успешно завершилась.