Форум: "Основная";
Текущий архив: 2004.08.22;
Скачать: [xml.tar.bz2];
ВнизОпределение связанности группы Найти похожие ветки
← →
webpauk (2004-08-04 20:14) [0]Вопрос, конечно, касается не совсем программирования в Delphi, а скорее теории алгоритмов (или даже теории групп или множеств).
Суть такова:
Есть массив элементов [1..19, 1..19];
Нужно определить в этом массиве связанные группы.
Группа связана тогда, когда одинаковые элементы расположены рядом по вертикали или горизонтали, например:
XX
или
X
X
Группа
X
X
является несвязанной.
Алгоритм следующий:
цикл по строке, цикл по столбцу. Если рядом стоящие элементы одинаковы, новый элемент добавляется в группу.
Столкнулся со следующей проблемой:
1234
1XXXX
2X X
3X XX
Элемент [3,3] - связан с группой, но из-за того, что цикл еще не дошел до элементов с большим номером [3, 4], получается, что элемент [3,3] несвязан.
Может кто знает, как обойти такую проблему?
← →
webpauk (2004-08-04 20:15) [1]Добавлю еще следующее: пытаюсь эту фишку реализовать в игрушке, которую пишу на WinApi+DirectDraw.
← →
webpauk (2004-08-04 20:40) [2]Sorry
Группа
X
X
является несвязанной.
← →
webpauk (2004-08-04 20:41) [3]Sorry
Группа
X
0X
является несвязанной.
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2004.08.22;
Скачать: [xml.tar.bz2];
Память: 0.44 MB
Время: 0.039 c