Форум программистов, компьютерный форум CyberForum.ru
Наши страницы

Массив, заполненный 1 и 0. Найти путь, состоящий из нулей, от точки до точки. - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Обращение матрицы методом Гаусса. http://www.cyberforum.ru/cpp-beginners/thread402207.html
Если кто знает, напишите пожалуйста программу обращения любой матрицы методом Гаусса.
C++ Использование массивов в Dev-c++ Написать функцию для удаления строки из двумерного массива. Оставшиеся строки должны быть расположены плотно, недостающие элементы заменяются 0. С помощью разработанных функций исключить из массива... http://www.cyberforum.ru/cpp-beginners/thread402199.html
Написать программу, которая заполняет матрицу C++
Написать программу, которая заполняет матрицу A размерами n*n, где n задается с клавиатуры, случайными целыми числами из заданного диапазона, записывает ее в файл и находит произведение элементов,...
циклический алгоритм C++
проверьте правильно ли написана программа,суть в том что нужно решить на паскале и на си,на паскале сделал,преподаватель сказал правильно,сделал на си ,получается,но по другому ответ.. задание...
C++ Решить интегралл http://www.cyberforum.ru/cpp-beginners/thread402171.html
Здравствуйте. Нужна помощь. Нужно посчитать интегралл в С++ методом левых прямоугольников. Аппроксимирующая функция имеет вид Напишите программу пожалуйста если не трудно. Спасибо заранее!
C++ Получить матрицу Получить матрицу 1 0 ... 01 подробнее

Показать сообщение отдельно
valeriikozlov
Эксперт С++
4670 / 2496 / 321
Регистрация: 18.08.2009
Сообщений: 4,550
09.12.2011, 06:30
maximality, Заводишь еще один массив m*m. Заполняешь его значениями -1. Значению второй точки ставишь в этом массиве 0 и вторую точку заносишь в стек. Далее делашь так:
Берешь очередную точку из стека и смотришь (по первому массиву) куда из нее можно пойти. Если можно куда-то перейти и эта точка во втором массиве равна -1, то эту точку заносишь в стек а значение ее во втором массиве делаешь: значение очередной точки из стека (во втором массиве)+1.
Можешь продолжать делать таким образом пока стек не опустеет.
Затем смотришь значение 1-ой точки во втором масссиве. Если равно -1, то пути нет.
Если не равно -1, то берешь значение 1-ой точки во втором массиве и идешь обратно по убыванию до 0 (это и будет кратчайший путь).

Добавлено через 46 минут
маленькая поправка: стек заменить на очередь.
0
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru