Вниз
Скачать: CL | DM;

Определение связанности группы   Найти похожие ветки 

← →
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 вся ветка

Скачать: CL | DM;



Память: 0.45 MB
Время: 0.023 c
4-1089285412
bar
2004-07-08 15:16
2004.08.22
Загрузка и выгрузка dll в чужой процесс


14-1091535313
MGWarlock
2004-08-03 16:15
2004.08.22
I need help! Помогите поставить WinXP.


4-1088528362
djone
2004-06-29 20:59
2004.08.22
TreeView


14-1091423855
Cobalt
2004-08-02 09:17
2004.08.22
FTP-сервер


14-1091096825
Baks
2004-07-29 14:27
2004.08.22
WebBrowser




   Наверх