Страницы: Пред. 1 2
RSS
Рост области числа, с ограничением препятствиями
 
Цитата
КошкаСофи написал:
что вы имеете ввиду - во все стороны ?
как волны от капли воды
 
Fidgy, в имеющемся макросе - разве так идет распространение области ?
 
Шаг 1
NN N
NP N
N N N
Шаг 2
N N N N N
N N N N N
N N PN N
N N N N N
N N N N N
И т.д.

Не знаю как это ещё описать
 
Fidgy, я вижу.

Но я-то говорю про первый макрос, тот который в первом сообщении данной темы идет.
Там же не так так идет увеличение области.

Там идет увеличение области - строго на одинаковое количество ячеек.
 
Ну да,
Как я писал:
Цитата
Это пример написанный за 15 минут, а не решение
 
Что самое интересное, макрос работает "как надо", а не "как должен", исключительно благодаря ошибке в алгоритме!  :D
 
Помогите решить задачу.

Макрос работает так:  по событию Worksheet_Change например для ячейки S16 (подсвечена зеленым цветом) - растет область чисел вокруг нее.
Причем если область чисел встречает препятствие (желтые ячейки), то оно воспринимает их как препятствия - и не распространяется сквозь них.

Однако почему-то когда я увеличиваю эту область, то есть некая граница после которой область перестает расти.
Когда область чисел достигает 29 она перестает увеличиваться, хотя там нет препятствия.

Почему область не растет за 29 строку и как это исправить в макросе?
 
Доброе время суток.
Вариант. Правда, оптимизации по поиску контура заполненных ячеек не делал - простой перебор. А скорее всего преподаватель хотел именно поиска контура заливки пятёрками и увеличение заполнения отталкиваясь от него :)
 
Андрей VG, у вас появляется при каждом нажатии - разное количество ячеек.
Сперва 3 ячейки, потом 5 ячеек, потом 6 ячеек.

Ведь в ячейке H4 - записано число "4".
Это значит, что может заполняться только строго четыре ячейки.
 
Цитата
КошкаСофи написал:
Ведь в ячейке H4 - записано число "4".
И где об этом в вашем описании хоть слово написано? Ждите следующего :)
 
Андрей VG, так был же приложен файл-пример.
Там же видно, что область увеличивается строго на 4 ячейки.
 
Как же решить эту непростую задачу ?
Помогите, друзья.
 
Цитата
КошкаСофи написал:
Помогите
Так в чём помощь-то? Пока каких-то ваших телодвижений в коде и не видно.
Цитата
2.7. Если вам нужен не совет по самостоятельному решению задачи, а чтобы все сделали за вас - добро пожаловать в ветку Работа. Там, скорее всего, найдутся специалисты, которые разберутся с вашей проблемой быстро, качественно и за разумную плату.  
 
Цитата
Андрей VG написал:
Так в чём помощь-то?
Андрей VG, так никто ничего не объясняет.

Спрашиваю - почему область не растет за 29 строку и какая строка в макросе за это ограничение отвечает?
В ответ молчание или ответ "потому что макрос так работает".
 
Цитата
КошкаСофи написал:
так никто ничего не объясняет.
Или кто-то не пытается понять объяснения?
Цитата
КошкаСофи написал:
какая строка в макросе за это ограничение отвечает?
Никакая. За это отвечает адрес ячейки S16. От нее строк вниз не может быть больше, чем вверх, а вверху строки закончились. Аналогично лево/право.
 
RAN, с вашей точки зрения - как можно изменить алгоритм, чтобы от ячейки S16 - строк вниз могло бы быть больше чем вверх  и столбцов вправо - могло бы быть дольше чем влево ?
Хотя бы теоретически (может какое-то дополнительное условие добавить в цикл?).
 
Цитата
КошкаСофи написал:
Хотя бы теоретически
Как теоретически не скажу, а практически - см сообщение #9.

Я вам задал вопросы, вы их проигнорировали. Переметнулись на другой форум.
Пила в руки, и удачи в допиливании!
 
КошкаСофи, о параллельном размещении темы нужно сообщать самостоятельно - показывать ссылку. И там тоже, чтобы помогающие не тратили время а то, что уже есть на другом форуме
 
Офф. А можно узнать точку приложения сего 'геморроя'? (Гусары - молчать!) Для чего две страницы страданий только на этом форуме? Где применяется?
Согласие есть продукт при полном непротивлении сторон
 
Виталий, ну ты и садюга!
 
RAN, а что делает код из сообщения 9 ?

Я запускаю макрос, и он вокруг ячейки O7 - расставляет 30 двоек.
На повторные запуски макрос не реагирует.

Или этот  алгоритм, как-то способен от ячейки O7 - разместить область даже если строк внизу - больше чем вверху  и столбцов вправо - больше чем слева ?
Только как это проверить, если этот макрос срабатывает однократно.
 
Здравствуйте, уважаемые специалисты по языку Visial Basic for Applications.

Это опять я.

Помогите решить задачу.

Макрос работает так:  по событию Worksheet_Change например для ячейки S16 (подсвечена зеленым цветом) - растет область чисел вокруг нее.
Причем если область чисел встречает препятствие (желтые ячейки), то оно воспринимает их как препятствия - и не распространяется сквозь них.

Однако когда я увеличиваю эту область, то есть некая граница после которой область перестает расти.
Когда область чисел достигает 29 она перестает увеличиваться, хотя там нет препятствия.

За это ограничение в имеющемся макросе - отвечает адрес ячейки S16. От нее строк вниз не может быть больше, чем вверх, а вверху строки закончились. Аналогично лево/право.

Подскажите, как убрать в имеющемся макросе - это досадное ограничение?
Страницы: Пред. 1 2
Наверх