Вниз
Скачать: 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.035 c
3-1090908999
leonidus
2004-07-27 10:16
2004.08.22
Проблема с TBDECallback


1-1091596355
Grain
2004-08-04 09:12
2004.08.22
Нижний индекс


3-1090920985
ONIK
2004-07-27 13:36
2004.08.22
Help!!! Динамическое создание БД ??????


3-1091108838
mouse_web
2004-07-29 17:47
2004.08.22
Отображение картинки из базы Access


9-1084098338
jet_set
2004-05-09 14:25
2004.08.22
игра построенная с помощью массивов.




   Наверх