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

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

Восстановить пароль Регистрация
 
LordSilren
0 / 0 / 0
Регистрация: 25.11.2011
Сообщений: 32
21.05.2013, 11:47     Алгоритм Дейкстры #1
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

как ее можно исправить?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
21.05.2013, 11:47     Алгоритм Дейкстры
Посмотрите здесь:

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

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Ответ Создать тему
Опции темы

Текущее время: 08:04. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru