Здравствуйте, HeavyWave, Вы писали:
HW>Здравствуйте, Pushkin, Вы писали:
P>>Полностью работающий код, решающий задачу, которую ты не говоришь
P>>Давай наоборот, пиши конкретно, что тебе надо, и кто-нибудь напишет идею алгоритма.
HW>Идея алгоритма есть. В том то и дело, что нужен полный работающий код, а не идея.
HW>Вобщем есть поле 9*9 с препятсвиями. Надо найти путь (желательно кратчайщий) от А(x;y) до Б(x1;y1).
HW>Путь должен сохранится в массиве структуры {int x;int y}. вроде все
А если сделать поиск в Интернете? Там полно алогритмов.
Для простого случая, когда стоимость переходов между соседними клетками одинакова, используется "волновой алгоритм". Краткий поиск в
www.google.com (выбрать "поиск в русском") по словам
волновой+алгоритм
даёт много документов, в первом же программные примеры на С и Паскале.
Для более сложных случаев с разной стоимостью переходов используются алгоритм Дийкстры (Dyjkstra), A* и др. Это нужно напр., в играх где скорость движения героя зависит от типа местности. Не знаю примера кода для алг. Дийкстры, но алгоритм простой, можно легко запрограммировать по описанию. Я, когда мне понадобилось, запрограммировал его за полчаса (на C#, тебе пример не подойдёт). Поиск в Google по слову "Дийкстры" имея ввиду алгоритм Дийкстры) опять дал ряд статей с обзором алгоритмов, в частности программный пример на С++ для алгоритма A*:
http://cs.mipt.ru/docs/comp/rus/programming/algorithms/tree_station/rpathfin.htm
Если это не устраиывает, ищи сам как я описал, алгоритмы лежат кучами.