1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!
| arsen86 |
21.11.2004 15:41
Сообщение
#1
|
|
Новичок ![]() Группа: Пользователи Сообщений: 12 Пол: Мужской Репутация: 0 |
Вообщем , задали другу курсач, я нашел что-то похожее в инете и начал модернизировать, домодернизировался, что что-то уже не так работает.
Лабиринт берется из файла, состоит из " " - проход, "*" - стена, я сначала загоняю его в числовой массив, в числовом ищу путь, а потом как результат должен выводится лабиринт , а правильный путь обозначатся точками. То что я наделал Ниже будет файл данных лабиринта. Прикрепленные файлы
Voln1.pas ( 3.88 килобайт )
Кол-во скачиваний: 294 |
![]() ![]() |
| Флогримм |
22.11.2004 11:10
Сообщение
#2
|
![]() Бывалый ![]() ![]() ![]() Группа: Пользователи Сообщений: 253 Пол: Мужской Репутация: 4 |
arsen86, в коде твоем я запутался, но принцип довольно-таки прост
ты правилно переводишь символьный лабиринт в числовой, а вот дальше ошибка какая-то смотри, что делать дальше: запрашиваешь у пользователя начальное и конечное значение пути, затем начальной ячейке присваиваешь значение 2, потом сканируешь матрицу и если у какой-то ячейки есть соседняя ячейка содержащая значение 2, присваиваешь текущей значение 2+1, затем снова сканируешь митрицу, если у текущей ячейки соседка 3, присваиваешь текущей значение 3+1 и т.д. я думаю суть понял как найти наикратчайший путь: начиная от конечной ячейки ишещь среди ее соседей ячейку со значением на 1 меньше, помечаешь(напр. -1) и т.д. потом переводишь в символьный массив также посмотри http://forum.pascal.dax.ru/forum/index.php?showtopic=3041 я давно тоже решал такую задачку(только без перевода из символьного массива), вот: Сообщение отредактировано: Флогримм - 22.11.2004 11:11 Прикрепленные файлы
LABIRINT.rar ( 1.12 килобайт )
Кол-во скачиваний: 235-------------------- Я не буду жить с этой злобой внутри / Я не буду частью смертельной цепи / Я не буду потребителем твоих идей / Я не буду никогда убивать зверей (Unconform)
|
arsen86 Поиск пути в лабиринте 21.11.2004 15:41
arsen86 Вот файл с данными 21.11.2004 15:45
arsen86 Спасибо Флогримм, и всем кто смотрел но не написал... 23.11.2004 13:33![]() ![]() |
|
Текстовая версия | 10.12.2025 20:20 |