Ответы mail.ru - штука глючная. Пытался ответить там на вопрос. Не дает вставлять код. Размещаюсь здесь.
Задача
Работа светофора для пешеходов запрограммирована следующим образом: начиная с начала каждого часа, в течение трех минут горит зеле-ный сигнал, затем в течение двух минут — красный, в течение трех минут — опять зеленый и т. д. Дано вещественное число N, означающее время в минутах, прошедшее с начала очередного часа. Определить, сигнал какого цвета горит для пешеходов в этот момент.
Язык С++.
Желательно решить простым способом (уровень новичка) . Да, и еще нужно использовать функции ввода и вывода scanf и printf, а не cin и cout.
Решение
#include
int main(){
/*
Согласно данным задачи мы имеем:
1. светофор имеет пятиминутный цикл.
2. если 0 < время <= 3, то горит зеленый
3. если 3 < время <= 5, то горит красный */ float current_time; puts("Enter time, please: "); scanf("%f", ¤t_time); /* чтобы облегчить задачу отбрасываем всю часть времени, которая кратна 5. тут я решил в цикле отнимать по 5 пока current_time > 5.
тогда ответ найдем, воспользовавшись условиями задачи
*/
while (current_time > 5){
current_time -= 5;
}
// для проверки остатка можно вывести
// printf("%.2f\n", current_time);
/*
теперь применим условия задачи
*/
if (current_time >0 && current_time <= 3){
printf("Green\n");
} else {
printf("Red\n");
}
return(0);
}