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

Работа с графами. Алгоритм Дейкстры - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Найти ошибку в коде http://www.cyberforum.ru/cpp-beginners/thread830139.html
Программа не выходит из данного цикла(например, если массив comp из чисел 1 1 5 5 5, то все равно пишет KARE) for(int a=0, b=1, c=2, d=3; c<5; d++) { if(d==a||d==b||d==c) continue; if(comp==comp&&comp==comp&&comp==comp) { cout<<"KARE"; intel=intel=intel=intel=false; kare=true; break;
C++ Вывести на экран символ ASCII таблицы заданное количество раз Всем привет. надо вывести на экран символ аски таблицы такое кол во раз, какое значение хранится в поле структуры. чето меня переклинило. ну или просто как вывести символ на экран указанное кол во раз.void myClass::show() { int l=219; ptek=pbeg; while(ptek->next) { cout<<ptek->a<<" "<<ptek->b<<endl; ptek=ptek->next; } http://www.cyberforum.ru/cpp-beginners/thread830108.html
Как написать плеер для Windows ? C++
Посоветуйте какие-то книги стати советы. Правильно ли я понимаю что: - с помощью кодеков декодируется видео и аудио, но что они выдают на выход? - и что такое сами кодеки? это COM-объекты? или что это и как с ними взаимодействовать в программе? - чем, после декодирования, видео и аудио рендертися на экран с помощю DirectX или ещё чего-то? Если можно перечислите какие минимальные знания...
Переменная базового класса в производных классах C++
Есть абстрактный базовый класс и в нем определена переменная variable: class Base { public: int variable; }; И есть два производных класса, которые используют переменную базового класса variable:
C++ Конструкторы http://www.cyberforum.ru/cpp-beginners/thread830076.html
Пытаюсь разработайте класс представления окна на экране компьютера. В состав должны войти следующие конструкторы: -конструктор по умолчанию; -конструктор с параметрами; -копирующий конструктор. #include <iostream.h> #include <conio.h> #include <stdio.h> class my {int x1,x2,y1,y2,col; public:
C++ «Моделирование процессов преобразования информации в сопроцессоре» Необходимо реализовать программу, выполняющую конверсию введенного с клавиатуры десятичного числа с плавающей точкой в формат сопроцессора и обратное преобразование (вводится двоичное представление, программа выдает соответствующее десятичное число). Ввод осуществляется с клавиатуры, вывод на экран. Программа должна поддерживать все три типа данных сопроцессора. подробнее

Показать сообщение отдельно
barselona1994
0 / 0 / 0
Регистрация: 04.10.2012
Сообщений: 88
07.04.2013, 12:06  [ТС]     Работа с графами. Алгоритм Дейкстры
Цитата Сообщение от snw Посмотреть сообщение
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 <fstream>
using namespace std;
ofstream out("output.txt");
int n = 100, Big = 10000, Color[101] = {0}, D[101], A[101][101], Way[101] = {0}, start, finish;
void Init()
{
    for(int i = 1; i <= 100; i++)
    {
        D[i] = Big;
        for(int j = 1; j <= 100; j++)
        {
            if(i == j)A[i][j] = 0;
            else A[i][j] = Big;
        }
    }
    int m;
    ifstream in("input.txt");
    in >> n >> m >> start >> finish;
    for(int i = 1; i <= m; i++)
    {
        int k, l;
        in >> k >> l;
        in >> A[k][l];
        A[l][k] = A[k][l];
    }
    in.close();
}
void Print(int V)
{
    if(V > 0)
    {
        Print(Way[V]);
        out << V << ' ';
    }
}
void dejkstra(int start)
{
    int i, j, m;
    D[0] = Big + 1;
    D[start] = 0;
    for(i = 1; i <= n; i++)
    {
        m = 0;
        for(j = 1; j <= n; j++)
        {
            if(D[j] < D[m] && Color[j] == 0)
            {
                m = j;
            }
        }
        Color[m] = 1;
        for(j = 1; j <= n; j++)
        {
            if(D[j] > A[m][j] + D[m])
            {
                D[j] = A[m][j] + D[m];
                Way[j] = m;
            }
        }
    }
}
int main()
{
    Init();
    dejkstra(start);
    out << D[finish] << endl;
    Print(finish);
    out.close();
}
input.txt:
4 4 1 4
1 2 6
1 3 2
2 3 3
2 4 5
а какой граф вы представляете в своём input.txt....можно изображение?
 
Текущее время: 10:23. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru