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

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

Восстановить пароль Регистрация
Другие темы раздела
C++ Отсортировать буквы с помощью string в верхней строке символьного массива MxN http://www.cyberforum.ru/cpp-beginners/thread872780.html
Как отсортировать буквы с помощью string в верхней строке символьного массива MxN(или вообще в любой части массива). Уже который день не могу найти внятной информации по этому поводу. Буду рад любой помощи.
C++ Подсчитать количество строк в введенном тексте не могу понять почему VS 2010 вылетает.. хочу подсчитать количество строк в введенном тексте. и еще вопрос: как присвоить строку (например n=2) другой переменной? cout<<"Введите текст, по завершении ввода нажмите Esc:"<<endl; while((ch=_getch())!=ID_ESC) { if(isgraph(ch)) { cout<<ch; str+=ch; }else { http://www.cyberforum.ru/cpp-beginners/thread872775.html
Реализация запрета ввода любых символов кроме цифр в консольном приложении C++
Здравствуйте, помогите пожалуйста реализовать запрет ввода любых символов кроме цифр в консольном приложении, считающем корни квадратного уравнения. Тоесть при вводе любого символа отличного от цифры должно появляться приглашение повторить ввод переменной #include<iostream.h> #include<conio.h> #include<locale.h> #include<iomanip.h> #include "math.h" #include <string.h> using namespace...
C++ priority_queue< int , char*, CompareHeap1 > pqMax (создать очередь с приоритетом для поиска 10 наиболее и наименее часто встречающихся слов) C++
Выполняю задачу "Частотный словарь", необходимо создать очередь с приоритетом для поиска 10 наиболее и наименее часто встречающихся слов. Использую такой метод для записи в очередь: /* структура для очереди с приоритетом - max */ struct CompareHeap1 { bool operator() (heapPair h1, heapPair h2) { return (h1.num >= h2.num); } }; /* структура для очереди с приоритетом - min */ struct...
C++ Проблемы с SDL http://www.cyberforum.ru/cpp-beginners/thread872750.html
Добрый день. Столкнулся с некоторыми проблемами связанными с SDL. В программе выводит окно а экран закрашивает его в черный как я и указал но дальше уходит в себя и ни на что не реагирует. Укажите, пожалуйста, где ошибка. Код: #include <iostream> #include <GL/GLAux.h> #pragma comment (lib, "opengl32.lib") #pragma comment (lib, "glut32.lib") #include <Box2D\Box2D.h> #include...
C++ C++ Красно-черные деревья Здравствуйте. У меня проблема с реализацией КЧД. #include <stdio.h> #include <stdlib.h> #include <string.h> #include <stdarg.h> #include <iostream> using namespace std; void main() { подробнее

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

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