Top.Mail.Ru
Ответы
Аватар пользователя
Аватар пользователя
Аватар пользователя
Аватар пользователя
Программирование
+4

Кумир, алгоритм нц пока кц

На бесконечном поле имеется вертикальная стена. Длина стены неизвестна. От нижнего конца стены влево отходит горизонтальная стена также неизвестной длины. Робот находится в клетке, расположенной непосредственно справа от верхнего края вертикальной стены.

На рисунке указан один из возможных способов расположения стен и Робота. Робот обозначен ромбом.


Рис. 2
Cоставьте из предложенных ниже фрагментов программу, закрашивающую все клетки, расположенные непосредственно правее вертикальной стены, ниже горизонтальной стены и угловую клетку. Робот должен закрасить только клетки, удовлетворяющие данному условию. Например, для приведённого выше рисунка (рис. 1) Робот должен закрасить следующие клетки (см. рис. 2).

Конечное расположение Робота может быть произвольным. Алгоритм должен решать задачу для произвольного размера поля и любого допустимого расположения стен внутри прямоугольного поля. Алгоритм должен содержать не более двух циклов и вне циклов не более двух подряд идущих команд: вверх, вниз, влево, вправо, закрасить. При исполнении алгоритма Робот не должен разрушиться. Выполнение алгоритма должно завершиться. Роботу запрещается посещать одну и ту же клетку дважды.


это я сам делал, почему он не закрашивает? Обьясниьте этот алгоритм

По дате
По рейтингу
Аватар пользователя
Новичок
2мес
1234567891011
 использовать Робот 
алг 
нач 
нц пока слева стена 
   закрасить 
   вниз 
кц 
нц закрасить 
   влево 
кц при сверху свободно 
кон 
Аватар пользователя
Высший разум
2мес

Потому, что стена у тебя СЛЕВА от робота, а проверяешь ты наличие стены СПРАВА.