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

Алгоритм Дейкстра - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Список с приоритетом, не работает программа http://www.cyberforum.ru/cpp-beginners/thread891518.html
Помогите пожалуйста отладить программу. Данные в список записываются, но не удаляются и не выводятся. В чем ошибка? // QwP.cpp: определяет точку входа для консольного приложения. // #include "stdafx.h" #include <iostream> using namespace std; class QueryIsEmpty: public std::exception
C++ определить, в каком случае данные обманчивы.И вывести номер обманчивого отрезка вообщем нам даны числа m и n m-длина луча на котором буду отрезки далее идет n*3 чисел в каждой строке по 3 числа x y z x-откуда начинается y-где кончается z-какая минимальная цифра написана на этом отрезке нужно определить, в каком случае данные обманчивы.И вывести номер обманчивого отрезка например http://www.cyberforum.ru/cpp-beginners/thread891515.html
C++ Объединение каждой последовательной пары строк в одну строку, если её длина не будет превышать заданную
Помогите решить задачу. "Объединение каждой последовательной пары строк в одну строку, если её длина не будет превышать заданную"
Вводится номер семестра N <= 10. Вывести фразу «Я проучился N семестров », согласовав слово« семестр »с числом N. Определить номер курса C++
начало кода есть , но он не показывает что нужно , там надо наверное через if-else !! но не получается:ireful: #include <stdio.h> #include <conio.h> #include <locale.h> void main (int sem,int kurs ) { setlocale (0, "Russian"); int N=0,K=0; printf( "Введите количество семестров N:" ); scanf_s("%d", &N); //get N from std input
C++ Вывести это все с помощью printf http://www.cyberforum.ru/cpp-beginners/thread891502.html
помогите, пожалуйста)) надо вывести это все с помощью printf, а оно не выводится. вот если что задание и как должно быть. #include "stdafx.h" #include <iostream> #include <cmath>
C++ Массивы символов (строки); символьные файлы Дан файл, содержащий слова. Скопировать во второй файл все регулярные слова, не содержащие гласных букв, разделив их пробелами, а в третий - все числовые цепочки, подсчитав их общую сумму. Гласные буквы: A,E,I,J,O,Y,U. подробнее

Показать сообщение отдельно
Ageon
0 / 0 / 0
Регистрация: 23.03.2013
Сообщений: 23
05.06.2013, 00:53     Алгоритм Дейкстра
Есть у кого исходник кода,чтобы проверяло достижимость из выбранного города во все остальные?
или помогите, пожалуйста, выделить вот отсюда этот нужный алгоритм :


C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
AnsiString bufS,*bufD=new AnsiString[n],bufP;   // ñòðîêè êîòîðûå Г*ГіГ¦Г*Г» äëÿ âûâîäГ* ðåçóëüòГ*ГІГ* Г*Г* ГЅГЄГ°Г*Г*
    int *S=new int[n-1],*D=new int[n],              // массивы,необходимые для алгоритма
        *P=new int[n],w,min;                    // массив S  содержит вершины как помеченные
    for (int k=0; k<n-1; k++) {                     //массив D  cодержит кратчайшие расстояния к вершинам из вершин источника
        S[k]=-1;                                // P- массив последних посещенных вершин на маршруте
    }
    S[0]=a;
    for (int i=0; i<n; i++) {                       //начало алгоритма
        if (C[a][i]==NULL) D[i]=MAX;
            else D[i]=C[a][i];
        bufP=bufP+frmt(AnsiString((P[i]=a)+1),4);
        if (D[i]==MAX) bufD[0]=bufD[0]+"   ~";
            else bufD[0]=bufD[0]+frmt(AnsiString(D[i]),4);
    }
    for (int i=1; i<n-1; i++) {
        min=MAX;
        for (int k=0; k<n; k++) {
            if (D[k]<min && !in_arr(k,S) && k!=a) {
                w=k;
                min=D[k];
            }
        }
        if (min==MAX) break;
        bufS=bufD[i]=bufP="";
        S[i]=w;
        for (int j=0; j<n; j++) {
            if (!in_arr(j,S) && C[w][j]!=NULL && (D[w]+C[w][j])<=D[j]) {
                P[j]=w;
                D[j]=D[w]+C[w][j];
            }
            if (!in_arr(j,S) && D[j]<MAX) {
                bufD[i]=bufD[i]+frmt(AnsiString(D[j]),4);
            } else bufD[i]=bufD[i]+"   ~";
            bufP=bufP+frmt(AnsiString(P[j]+1),4);
        }
    }
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 06:17. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru