![]() |
Модераторы: Poseidon |
![]() ![]() ![]() |
|
koder |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 181 Регистрация: 30.4.2005 Где: Moscow Репутация: нет Всего: 2 |
Как реализовать это?
--------------------
THE TRUTH IS OUT THERE |
|||
|
||||
maxim1000 |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 3334 Регистрация: 11.1.2003 Где: Киев Репутация: 24 Всего: 110 |
на каком языке?
-------------------- qqq |
|||
|
||||
koder |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 181 Регистрация: 30.4.2005 Где: Moscow Репутация: нет Всего: 2 |
Желательно на Pascal!
--------------------
THE TRUTH IS OUT THERE |
|||
|
||||
cardinal |
|
|||
![]() Инженер ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 6003 Регистрация: 26.3.2002 Где: Германия Репутация: 15 Всего: 99 |
Сначала я бы увеличил размер массива на (tsize+2)*(tsize+2), чтобы дальше проще было. А что проще ты поймешь когда нарисуешь квадрат размера 10x10 например (на клетчатой бумажке), выберешь любую точку и закрасишь каким-нибудь цветом восемь квадратиков вокруг выбранного. Их значения тебе и надо суммировать. Если (x,y) это координата выбранной точки, то (x-1,y) это точка слева, (x-1,y-1) слева сверху и т.д. Получишь в суммировании восемь строк кода и потом в цикле все этой сделаешь и будет тебе результат... Если что непонятно напишу поподробней, а если и так понятно, то дальше писать лень... ![]() -------------------- Немецкая оппозиция потребовала упростить натурализацию иммигрантов В моем блоге: Разные истории из жизни в Германии "Познание бесконечности требует бесконечного времени, а потому работай не работай - все едино". А. и Б. Стругацкие |
|||
|
||||
koder |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 181 Регистрация: 30.4.2005 Где: Moscow Репутация: нет Всего: 2 |
А я бы ни чего бы не увеличивал! И крутил бы массив не увеличивая размер)
--------------------
THE TRUTH IS OUT THERE |
|||
|
||||
cardinal |
|
|||
![]() Инженер ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 6003 Регистрация: 26.3.2002 Где: Германия Репутация: 15 Всего: 99 |
Тогда, когда ты будешь на левом краю (например), ты должен будешь это проверять и не прибавлять значения (x-1, y-1),(x-1, y) и (x-1, y+1), а так этих проверок не будет... К тому же в углах не будет лишнего геморра.
-------------------- Немецкая оппозиция потребовала упростить натурализацию иммигрантов В моем блоге: Разные истории из жизни в Германии "Познание бесконечности требует бесконечного времени, а потому работай не работай - все едино". А. и Б. Стругацкие |
|||
|
||||
maxim1000 |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 3334 Регистрация: 11.1.2003 Где: Киев Репутация: 24 Всего: 110 |
или просто сначала пройтись по краю, а потом делать цикл уже по внутренней части и ничего не проверять... -------------------- qqq |
|||
|
||||
SoWa |
|
|||
![]() Харекришна ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 2422 Регистрация: 18.10.2004 Репутация: 3 Всего: 74 |
И еще надо создать второй массив. Чтобы каши не было. Т.е. в исходном считаешь, а в новый пишешь.
-------------------- Всем добра ![]() |
|||
|
||||
cardinal |
|
|||
![]() Инженер ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 6003 Регистрация: 26.3.2002 Где: Германия Репутация: 15 Всего: 99 |
Да, это тоже выход из положения. Причем не очень даже плохой, т.к. создавать второй массив большего размера (для исходнодного) в таком случае не надо. А второй массив для результата это конечно нужно. -------------------- Немецкая оппозиция потребовала упростить натурализацию иммигрантов В моем блоге: Разные истории из жизни в Германии "Познание бесконечности требует бесконечного времени, а потому работай не работай - все едино". А. и Б. Стругацкие |
|||
|
||||
koder |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 181 Регистрация: 30.4.2005 Где: Moscow Репутация: нет Всего: 2 |
Может такой вариант подойдет? --------------------
THE TRUTH IS OUT THERE |
|||
|
||||
cardinal |
|
|||
![]() Инженер ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 6003 Регистрация: 26.3.2002 Где: Германия Репутация: 15 Всего: 99 |
Я не понял, ты задавал вопрос или я? Тебе подойдет или кому? ![]() А во-вторых то ли мне глючит, то ли ты не обнуляешь ни count, не sum при перепрыгивании на след. точку... А цикл сделан хреново (см. выше)... -------------------- Немецкая оппозиция потребовала упростить натурализацию иммигрантов В моем блоге: Разные истории из жизни в Германии "Познание бесконечности требует бесконечного времени, а потому работай не работай - все едино". А. и Б. Стругацкие |
|||
|
||||
koder |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 181 Регистрация: 30.4.2005 Где: Moscow Репутация: нет Всего: 2 |
count и sum обнуляется, как только попадаем в процедуру..)) их надо обнулять только в начале процедуры! А так рабочий алгоритм? Есть варианты оптимизации?
--------------------
THE TRUTH IS OUT THERE |
|||
|
||||
cardinal |
|
|||
![]() Инженер ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 6003 Регистрация: 26.3.2002 Где: Германия Репутация: 15 Всего: 99 |
Понял, извини, не заметил, что ты поточечно обрабатываешь матрицу. Если надобности в этом нет, то это очень плохая реализация, т.к. сложно сделать что-то медленней чем такое вот поточечное обрабатывание. ![]() Ну так вручную сделай то, что нужно с какой-нибудь матрицей типа 3x4, а потом сделай обработку с помощью твоей проги и сравни... Если бы ты внимательней читал предыдущие посты, то ты бы уже знал, что есть. От этого сравнения
можно полностью избавиться! -------------------- Немецкая оппозиция потребовала упростить натурализацию иммигрантов В моем блоге: Разные истории из жизни в Германии "Познание бесконечности требует бесконечного времени, а потому работай не работай - все едино". А. и Б. Стругацкие |
|||
|
||||
koder |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 181 Регистрация: 30.4.2005 Где: Moscow Репутация: нет Всего: 2 |
Напиши свой вариант)
--------------------
THE TRUTH IS OUT THERE |
|||
|
||||
cardinal |
|
|||
![]() Инженер ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 6003 Регистрация: 26.3.2002 Где: Германия Репутация: 15 Всего: 99 |
Это тебе надо или мне?
Ты давно читал подпись админа? Вот она:
![]() -------------------- Немецкая оппозиция потребовала упростить натурализацию иммигрантов В моем блоге: Разные истории из жизни в Германии "Познание бесконечности требует бесконечного времени, а потому работай не работай - все едино". А. и Б. Стругацкие |
|||
|
||||
![]() ![]() ![]() |
Правила форума "Центр помощи" | |
|
ВНИМАНИЕ! Прежде чем создавать темы, или писать сообщения в данный раздел, ознакомьтесь, пожалуйста, с Правилами форума и конкретно этого раздела.
Более подробно с правилами данного раздела Вы можете ознакомится в этой теме. Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Poseidon, Rodman |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Центр помощи | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |