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

Восстановление пути по матрице, возвращаемой алгоритмом Флойда - Уоршелла - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Определите количество участников состязаний, которые разделили первое место http://www.cyberforum.ru/cpp-beginners/thread1102839.html
Состязания. Если перенумеровать спортсменов числами от 0 до n-1, а попытки каждого из них – от 0 до m-1, то на вход программа получает массив int A, состоящий из неотрицательных чисел. Будем...
C++ Работа с классами (сделать, чтобы функция возвращала массив, получаемый суммированием двух входных) В программу передаю 2 массива из пяти чисел. После выполнения функции getAM хочу, чтобы она возвращала массив, получаемый суммированием двух входных. Сейчас, она выводит только первый элемент.... http://www.cyberforum.ru/cpp-beginners/thread1102825.html
C++ Рекурсивная программа, печатающая n-ое простое число.
Напишите, пожалуйста, рекурсивную программу, печатающую n-ое простое число.
Определить число латинских букв в строке C++
Я не знаю как сделать эту задачу. Прошу помочь.
C++ Запуск и последующее удаление всех исполняемых файлов из каталога http://www.cyberforum.ru/cpp-beginners/thread1102776.html
Здравствуйте. Прошу помочь написать программу, которая бы запускала все исполняемые файлы (.exe, .bat, .cmd) из заданного каталога, а потом удаляла их. Как запустить исполняемый файл мне понятно,...
C++ Добавление элемента в линейный список после 1-го, 3-го, 5-го и т.д Помогите пожалуйста, нужно написать функцию добавления в линейный список заданного элемента после 1-го, 3-го, 5-го и т.д. подробнее

Показать сообщение отдельно
saroff
5 / 1 / 0
Регистрация: 09.11.2013
Сообщений: 143

Восстановление пути по матрице, возвращаемой алгоритмом Флойда - Уоршелла - C++

22.02.2014, 17:36. Просмотров 2118. Ответов 8
Метки (Все метки)

Делаю, алгоритм флойда-уоршелла, делаю сам на делфи, но исходники с решением моей проблемы (ну по крайней мере я надеюсь, что с решением) на плюсах, так что надеюсь что с форумом я не ошибся. Проблема в том, что нигде не нашел толкового описания алгоритма восстановления пути по матрице возращаемой этим Алгоритмом, вот здесь нашел алгоритм восстановления (сам метод скопировал ниже), но дело в том что плюсы я знаю на самом отдаленном уровне, прошу объяснить кого нибудь что происходит в коде, больше всего интересует что делают методы (надеюсь не ошибся с терминологией) push top и pop. Еще я не особо понял что из себя представляют Path и Goals, т.к. какого либо объявления (по крайней мере понятного мне) я не нашел.


C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
void FindPath(size_t first, size_t second)
    {
        if(first>=MatrPath.size() || second>=MatrPath.size())
            throw std::invalid_argument("One of nodes for searching is more than Matr size");
        ST Goals;
        Path.push(first);
        Goals.push(second);
        while(!Goals.empty())
        {
            int u=Path.top();
            int v=Goals.top();
            int s=MatrPath[u][v];
            if(v==s)
            {
                Path.push(v);
                Goals.pop();
            }
            else
                Goals.push(s);
        }
    }
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru