1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code], либо быть опубликованы на нашем PasteBin в режиме вечного хранения.
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!
| madrabbit |
Сообщение
#1
|
|
Новичок ![]() Группа: Пользователи Сообщений: 14 Пол: Мужской Репутация: 0 |
Здравствуйте.
Помогите пожалуйста с алгоритмом. хотя бы просто на пальцах или отправьте к соответствующим ссылкам. Интересует следующий алгоритм: Предположим задана некоторая матрица размерности N на N( положим поле больше шахматной доски), а также координаты двух точек(элементы массива a[i,j], b[i1,j1]), Задача. Найти оптимальный путь межды этими точками "шахматным конем". Решал так: забил всю матрицу нулями, два элемента - "1". функция проверки "не является ли элемент массива =1. Если нет, то в функцию передаются новые координаты(причем 8 различных точек, куда может шагнуть конь с текущего места). таким образом это приводит к многократному зацикливанию и росту рекурсивных вложений... посоветуйте принцип решения. каким способом, например, можно оборвать вложенную процедуру при приближении к краям поля. Ну и вообще... задач однотипных я знаю много. Интересует сам принцип и средства решения. Хотелось бы самому дойти, но видно опыта самоучки маловато... спасибо вам заранее за помощь! :molitva: Сообщение отредактировано: madrabbit - |
![]() ![]() |
| Digitalator |
Сообщение
#2
|
|
Бывалый ![]() ![]() ![]() Группа: Пользователи Сообщений: 247 Пол: Мужской Репутация: 1 |
имхо с рекурсией все усложняеться и больше места для ошибок
-------------------- |
madrabbit рекурсивная работа с матрицей 18.12.2004 21:26
Digitalator А нафиг тут вообще рекурсия нужна? ээ вообщето она… 18.12.2004 21:55
volvo Digitalator
Еще один такой пост - накажу. Если че… 18.12.2004 21:58
madrabbit volvo.
помоги советом :rolleyes: 18.12.2004 22:01
Digitalator Ух какие мы злые, а с чего это?
Человек не говорит… 18.12.2004 22:07
madrabbit спасибо вам ребята... :( 18.12.2004 22:37
Digitalator Эй, чувак, не расстраивайся!
Я тебе говорю - … 18.12.2004 22:43
APAL
но можно...
Если на пальцах:
1. Для начальной п… 18.12.2004 22:54
madrabbit
спасибо.
на самом деле я все так и делал. (описал… 19.12.2004 0:48
APAL
Обрывать принудительно не надо - закончить процед… 19.12.2004 16:37
APAL Для начала было бы неплохо ввести еще одно значени… 29.01.2005 19:02
madrabbit ВОПРОС! не пойму почему не получается. 8(
врод… 29.01.2005 19:11
volvo
Тогда попробуй генерировать динамическую матрицу … 17.02.2005 19:38
madrabbit
так я так и делаю, каждый раз в рекурсию переда… 18.02.2005 5:16
volvo
Ну так вот что я нашел: procedure recurse(va… 18.02.2005 5:29
madrabbit
спасибо.
я приблизительно это и имел ввиду.
А име… 18.02.2005 22:50
volvo
Type matrix = array[1 .. 100] of integer… 18.02.2005 22:58
madrabbit Огромное спасибо, ну наконец-то я понял!
Тепер… 19.02.2005 18:08
volvo
Посмотри вот это...
FAQ: Динамические массивы
FA… 19.02.2005 18:23![]() ![]() |
|
Текстовая версия | 5.11.2025 21:57 |