Версия для печати темы

Нажмите сюда для просмотра этой темы в обычном формате

Форум «Всё о Паскале» _ Задачи _ Рекурсия, матрица

Автор: Kinder 22.05.2008 1:37

Задача: дана матрица, допустим 10х10. В клетке (1,1) помещаются "бактерии", за один раз они закрашивают(заполняют собой) 1 соседнюю клетку по вертикали и горизонтали, и т.д. Вычислить за какое кол-во ходов бактерии заполнят всю матрицу. Че то я не могу сообразить как запустить эту же подпрограмму для двух сразу клеток (для (1,2) и (2,1)).

Автор: Michael_Rybak 22.05.2008 4:40

по очереди. сначала для (1,2), потом для (2,1).

Автор: renesko1 23.05.2008 17:34

Можно соорудить очередь. Заносим координаты 1ых клеток в нее. Заражаем соседние, заносим координаты
новых зараженных клеток в очередь(конец) и удаляем обрабатывемую клетку.

Автор: klem4 23.05.2008 17:51

Зачем в очередь, просто рекурсия, вот только мне единственное непонятно,

Цитата
за один раз они закрашивают(заполняют собой) 1 соседнюю клетку по вертикали и горизонтали


Для некоторых клеток и по горизонтали и по вертикали может быть по 2 свободные клетки, по какому принципу выбирать какую из них заполнять ? Выбирать любую доступную (пустую)?

Автор: Гость 27.05.2008 13:49

Это ты говоришь о клетках стоящих по краям? Будем считать что матрица окружена зараженными клетками.
и еще.. я не в курсе что такое очередь, задание решить ее с помощью рекурсии. У меня получается что она заполняется построчно.

Автор: volvo 27.05.2008 13:54

Цитата
У меня получается что она заполняется построчно.
Так сделай, чтоб заполнялась НЕ построчно. Нужна помощь - код (который заполняет матрицу неправильно) в студию.

Телепатов здесь нет... Так же как и желающих потом выслушивать от тебя "а у меня так же, и все равно не работает". Было уже такое неоднократно. Показывай программу - исправим...