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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
LordSilren
0 / 0 / 0
Регистрация: 25.11.2011
Сообщений: 32
#1

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

21.05.2013, 11:47. Просмотров 347. Ответов 0
Метки нет (Все метки)

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
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
#include <stdlib.h>
#include <math.h>
#include <iosfwd>
#include <limits.h>
#include <stdio.h>
 
const int N = 6;
 
int main() {
    int predok[N], nach = 0, D[N];
    bool flag[N];
 
    int A[N][N] = {
        {0, 7, 9, 14, INT16_MAX, INT16_MAX},
        {7, 0, 10, INT16_MAX, INT16_MAX, 15},
        {9, 10, 0, 2, INT16_MAX, 11},
        {14, INT16_MAX, 2, 0, 9, INT16_MAX},
        {INT16_MAX, INT16_MAX, INT16_MAX, 9, 0, 6},
        {INT16_MAX, 15, 11, INT16_MAX, 6, 0}
    };
 
    for (int i = 0; i < N; i++) {
        predok[i] = nach;
        flag[i] = false;
        D[i] = A[nach][i];
    }
 
    flag[nach] = true;
    predok[nach] = 0;
    for (int i = 0; i < N - 1; i++) {
        int k = 0;
        int minras = INT16_MAX;
 
        for (int j = 0; j < N; j++) {
            if (!flag[j] && minras > D[j]) {
                minras = D[j];
                k = j;
            }
        }
 
        flag[k] = true;
        for (int j = 0; j < N; j++) {
           
            if (!flag[j] && D[j] > D[k] + A[k][j]) {
                D[j] = D[k] + A[k][j];
                predok[j] = k;
            }
        }
    }
 
    puts("Rasstoyaniya:");
    for (int i = 0; i < N; i++) {
        printf("Ot %d do %d: %d\n", nach, i, D[i]);
    }
 
    puts("");
    puts("Путь:");
 
    for (int i = N; i > nach + 1; i--) {
        printf("Ot %d do %d: ", i - 1, nach);
        for (int j = i - 1; j > nach;) {
            printf("%d ", j);
            j = predok[j];
        }
        printf("%d\n", nach);
    }
 
    return (EXIT_SUCCESS);
}
выдает такую вот ошибку в код блоксе
|20|error: 'INT16_MAX' was not declared in this scope

как ее можно исправить?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
21.05.2013, 11:47
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Алгоритм Дейкстры (C++):

Алгоритм Дейкстры - C++
Добрый день, помогите пож-та решить задачи на с++. Нашел решение (расписаны все алгоритмы, процедуры подсчета и т. д.), но сложность...

Алгоритм Дейкстры - C++
Что-то у меня Дейкстра не работает... прошу помощи у вас... Сам уже часа 1.5 сижу и не могу найти ошибку...#include &lt;iostream&gt; #include...

Алгоритм Дейкстры - C++
Как на С++ в консольном приложении описать алгоритм Дейкстры?

Алгоритм Дейкстры - C++
Написал программу, проверил код, в MVS6 С++ компилируется без ошибок. Но вот не задача, программа рушиться(не выполняется) при количестве...

Алгоритм Дейкстры - C++
Всем добрый день,уважаемые программисты! Помогите пожалуйста решить вот эту задачу алгоритмом дейкстры. Вроде сам алгоритм правильно...

Алгоритм Дейкстры - C++
Пытаюсь сейчас его понять, как я понял сперва надо оставить матрицу смежности, и все возможные связи между вершинами заполнить их длинами,...

0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
21.05.2013, 11:47
Привет! Вот еще темы с ответами:

Алгоритм Дейкстры - C++
День добрый! Есть игровое поле M*M. Количесво графов - N. Есть матрица смежности этого игрового поля. Получить элемент матрицы можно...

Алгоритм Дейкстры - C++
Помогите найти ошибку плз. Первый шаг алгоритма выполняет правильно,а дальше-нет. #include&lt;iostream&gt; #include&lt;fstream&gt; ...

Алгоритм Дейкстры С++ - C++
Реализовать алгоритм поиска кратчайшего пути. Алгоритм Дейкстры. Представление графа – матрица смежности. как можно после того как...

Алгоритм Дейкстры - C++
Ребятушки, помогите, пожалуйста. Нужна реализация алгоритма дейкстры на паскале, а именно вот этого кода const int INF = 1000000000; ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru