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

Вывод пути (алгоритм Дейкстры) - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Winsock C++ клиент - сервер http://www.cyberforum.ru/cpp-beginners/thread1198387.html
#include <winsock2.h> // сервер #include <iostream> using namespace std; int main(){ // инициализация winsock WSADATA WSAData; if (WSAStartup (MAKEWORD(1,1), &WSAData)!=0) { cout << "WSAStartup faild. Error:" << WSAGetLastError();
C++ Сравнение дат, не работает функция Ребят, помогите пожалуйста исправить функцию. Я должна сделать программу с таким заданием: Создать класс Triad (тройка чисел); определить метод сравнения триад. Определить производный класс Date с полями: год, месяц и день. Определить полный набор методов сравнения дат. Моя программа правильно работает, что касается с числами. Но последнюю функцию(сравнение дат) она не выполняет. :(... http://www.cyberforum.ru/cpp-beginners/thread1198381.html
Генерация псевослучайных чисел (метод Неймана) C++
Как задать цикл, что 100 цифр. Задаётся число и отбрасывает 2 последние цифры, и дальше с новым числом работать и так 100 раз. Помогите
C++ Заполнить матрицу по заданному образцу
Здравствуйте. Помогите пожалуйста с задачей, уже несколько дней сижу,ничего не получается. Задано число N(может быть четным или нечетным). Заполнить элементы массива по заданному образцу. То есть нужен некоторый алгоритм который заполняет элементы массива по особенному , после того как введем число N с клавиатуры Найти несколько вариантов и найти самый быстрый. образец: при вводе N=5...
C++ Многопоточность, выход из бесконечного цикла c++11 http://www.cyberforum.ru/cpp-beginners/thread1198343.html
Всем привет. Я в задачах многопоточности - новичок (начал ей заниматься буквально несколько часов назад), инфу искал, читал, но как-то пока не помогает. Столкнулся с задачей (с++11 std::thread) код не оригинальный, а упрощённый, чтобы показать саму суть, подразумевается, что все необходимые include'ы уже есть. есть class SomeClass { private: bool _stopCycle;
C++ Вычислите сумму элементов целочисленной матрицы, ниже побочной диагонали Дана целочисленная матрица. Вычислите сумму элементов матрицы, ниже побочной диагонали. Выведите на экран исходный массив и результат вычисления. подробнее

Показать сообщение отдельно
Aecttann
 Аватар для Aecttann
5 / 5 / 0
Регистрация: 19.10.2013
Сообщений: 257
05.06.2014, 01:48  [ТС]     Вывод пути (алгоритм Дейкстры)
почти)))
последний рывок)
как примерно это всё работает?


C++
1
const int inf = 1000*1000*1000;
C++
1
2
    vector <int> d(n+5,inf),p(n+5,-1);
    vector <bool> used(n+5);
C++
1
2
3
4
5
6
7
8
9
10
for (int i=0;i<n;++i){
        mn = inf, u = -1;
        for (int j=0;j<n;++j)
            if (!used[j] && d[j] < mn)
                mn = d[j], u = j;
        if (u == -1)    break;
        used[u] = true;
        for (int j=0;j<n;++j)
            if (d[j] > d[u] + g[u][j] && g[u][j] > 0 )
                d[j] = d[u] + g[u][j], p[j] = u;
C++
1
2
3
4
5
6
7
8
9
if (p[finish] == -1)
        cout<<"No way\n";
    else{
        for (int u = finish ; u != -1; u = p[u])
            v.push_back(u);
        reverse(v.begin(),v.end());
        for (int i=0;i<v.size();++i){
            if (i > 0)    cout<<"->";
            cout<<v[i];
 
Текущее время: 04:21. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru