Форум программистов, компьютерный форум 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++
проверьте правильно ли написана программа,суть в том что нужно решить на паскале и на си,на паскале сделал,преподаватель сказал правильно,сделал на си ,получается,но по другому ответ.. задание ответы на паскале #include <iostream.h> #include <math.h> void main() {float x,y,xn,xk,hx,yn,yk,hy,u; cout <<"vvod xn,xk,hx,yn,yk,hy"<<endl;
C++ Решить интегралл http://www.cyberforum.ru/cpp-beginners/thread402171.html
Здравствуйте. Нужна помощь. Нужно посчитать интегралл в С++ методом левых прямоугольников. Аппроксимирующая функция имеет вид Напишите программу пожалуйста если не трудно. Спасибо заранее!
C++ Получить матрицу Получить матрицу 1 0 ... 01 подробнее

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

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