![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Участник клуба
Регистрация: 13.01.2009
Сообщений: 1,353
|
![]()
Что-то сам не могу разобраться, прошу помощи. Хочу организовать пересчет единичек в матрице, размерностью 20х20. Например:
0001111100 0001001100 0000011000 0000110000 0001111100 Принцип расположение '1' следующий: каждая единица имеет как минимум соседнюю единицу, которая находится в клетке рядом. (на рисунке изображена цифра "2". Я не хочу идти простым путем перебора строк и столбцов сверху вниз и слева направо и записывать координаты единичек. У меня есть более интересное решение, которое, может быть придумали и до меня ![]() Код:
"Тебе то может на меня и насрать, но твои глаза меня обожают!"
![]() |
![]() |
![]() |
![]() |
#2 |
Software Developer
Старожил
Регистрация: 19.12.2008
Сообщений: 2,070
|
![]()
Дык, а если не секрет, к чему такие заморочки ?
Будь проще и люди к тебе потянутся
|
![]() |
![]() |
![]() |
#3 |
Участник клуба
Регистрация: 13.01.2009
Сообщений: 1,353
|
![]()
spamer, так а в чем собственно заморочки? Хороший программер влет это сделает. Ну а вообще при поиске маленьких областей это должно сыкономить массу времени.
"Тебе то может на меня и насрать, но твои глаза меня обожают!"
![]() |
![]() |
![]() |
![]() |
#4 | |
Владимир М.
Участник клуба
Регистрация: 30.10.2006
Сообщений: 1,289
|
![]() Цитата:
Так как Вам контур строить и не нужно, обрабатывайте построчно. Начиная со второй строки: проверять только те клетки, которые имеют соседа 'единицу' сверху. Если 4-связность, то проверять тот же индекс j, что у рассматриваемой ячейки. Если 8-связность, то j, j-1, j+1. Можно и хранить номера найденных позиций в отдельном массиве / списке, обновлять его для каждой строки (при переходе на следующую).
Берегите друг друга!
|
|
![]() |
![]() |
![]() |
#5 |
Старожил
Регистрация: 26.04.2008
Сообщений: 2,645
|
![]()
Я через рекурсию подобное делал. Что-то вроде этого. Это для таблицы 5х5. StringGrid1 - исходная, StringGrid2 - результат
Код:
Последний раз редактировалось eoln; 22.07.2010 в 00:56. |
![]() |
![]() |
![]() |
#6 |
Участник клуба
Регистрация: 13.01.2009
Сообщений: 1,353
|
![]()
Спасибо за ответы, буду думать. За выходные найду выход наверное. А так моя идея с организацией потоков - основная, но я её немного переиначил, так как первоначальный вариант был глупым и тупиковым... Дам знать в этой теме, как закончу с этой частью работы.
"Тебе то может на меня и насрать, но твои глаза меня обожают!"
![]() |
![]() |
![]() |
![]() |
#7 |
Владимир М.
Участник клуба
Регистрация: 30.10.2006
Сообщений: 1,289
|
![]()
Да, использование рекурсии удобно в плане кодирования, но скорость обработки дает похуже.
ImmortalAlexSan, потоки в задаче такой размерности не нужны. Используйте динамические структуры для хранения вершин 'потоков', которые разделяются. Если бы стояла задача использования параллельных вычислений, проще разделить всю область на участки без пересечений и обрабатывать параллельно. Иначе передача данных м.у потоками убивает весь выигрыш в производительности. Также советую погуглить про CUDA технологию и использование GPU в целом.
Берегите друг друга!
|
![]() |
![]() |
![]() |
#8 |
Участник клуба
Регистрация: 13.01.2009
Сообщений: 1,353
|
![]()
Так вот, продолжая тему! Времени на программирование остается только на вечер, так как работа берет свое... Но, несмотря на это, я все-таки нашел способ выделения сплошной области. Для графики называется он: выделение с затравочным пикселем, или что-то в этом духе
![]() ![]() ![]() Код:
"Тебе то может на меня и насрать, но твои глаза меня обожают!"
![]() |
![]() |
![]() |
![]() |
Опции темы | Поиск в этой теме |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Интересное предложение опытным программистам | MaxRiga | Фриланс | 7 | 24.03.2010 11:58 |
интересное перемещение в таблице | Окоча Юра | Microsoft Office Word | 1 | 14.01.2010 15:47 |
интересное ниспадающее меню | greysells | HTML и CSS | 4 | 09.07.2009 16:44 |