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

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

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Определите количество участников состязаний, которые разделили первое место http://www.cyberforum.ru/cpp-beginners/thread1102839.html
Состязания. Если перенумеровать спортсменов числами от 0 до n-1, а попытки каждого из них – от 0 до m-1, то на вход программа получает массив int A, состоящий из неотрицательных чисел. Будем считать, что победитель определяется по лучшему результату. Определите количество участников состязаний, которые разделили первое место, то есть определите количество строк в массиве, которые содержат...
C++ Работа с классами (сделать, чтобы функция возвращала массив, получаемый суммированием двух входных) В программу передаю 2 массива из пяти чисел. После выполнения функции getAM хочу, чтобы она возвращала массив, получаемый суммированием двух входных. Сейчас, она выводит только первый элемент. Подскажите, что нужно исправить.#include <iostream> using namespace std; class demodulator { public: demodulator(int* ,int*); ~demodulator(void); int AM(void); http://www.cyberforum.ru/cpp-beginners/thread1102825.html
C++ Рекурсивная программа, печатающая n-ое простое число.
Напишите, пожалуйста, рекурсивную программу, печатающую n-ое простое число.
Определить число латинских букв в строке C++
Я не знаю как сделать эту задачу. Прошу помочь.
C++ Запуск и последующее удаление всех исполняемых файлов из каталога http://www.cyberforum.ru/cpp-beginners/thread1102776.html
Здравствуйте. Прошу помочь написать программу, которая бы запускала все исполняемые файлы (.exe, .bat, .cmd) из заданного каталога, а потом удаляла их. Как запустить исполняемый файл мне понятно, как удалить его вроде бы тоже. Вопрос вот в чем: как сделать это именно из каталога и с файлами с определенным расширением? Я правильно понял, что нужно использовать Get и SetCurrentDirectory? Или...
C++ Добавление элемента в линейный список после 1-го, 3-го, 5-го и т.д Помогите пожалуйста, нужно написать функцию добавления в линейный список заданного элемента после 1-го, 3-го, 5-го и т.д. подробнее

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

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

22.02.2014, 17:36. Просмотров 1548. Ответов 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);
        }
    }
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 17:22. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru