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

АТД Графы. Поиск суммы расстояний между городами. - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Квадро-деревья (Q-деревья). Вывод данных в порядке следования первого ключа. http://www.cyberforum.ru/cpp-beginners/thread376375.html
Здравствуйте, уважаемые программисты всея форума! Доброго вам времени суток! Возник у меня вопрос =) Пусть у нас есть Q-дерево, причем данные могут содержаться в ЛЮБОМ узле этого дерева. И нам нужно вывести все данные этого дерева в порядке следования первого ключа (пусть для определенности это будет координата X). Честно говоря, в голове не возникает никакой мысли по поводу алгоритма...
C++ Задача по Visual C++ произведение. Дано натуральное число N. Вычислить произведение: (1+1/1^2)*(1+1/2^2)...(1+1/N^2). Картинку приложил, качество не ахти. http://www.cyberforum.ru/cpp-beginners/thread376373.html
Помогите, пожалуйста, с программой по переносу данных из файла txt в структуру C++
Помогите, пожалуйста, как написать программу, которая читает данные о ноутбуках из файла note.txt в структуру вида: Struct NOTEBOOK{ struct disp_res{ // разрешающая способность дисплея int x; // по горизонтали int у; // по вертикали }; int f; // частота регенерации float d; // размер диагонали дисплея int price; ...
C++ вопрос функции.
Начал изучать программирование по книге Рейсдорф К. Хендерсон К.- Borland C++ Builder. Освой самостоятельно... . Упражнение на 1 день учебы застало меня в расплох. Хоть убейте не могу решить, нужна помощь!!! Задание: Написать консольное приложение, которое вызвает функцию для вывода на экран текста "ХХХ". ЗЫ. стоит ли учить С++ по этой книге или же есть что-то получше в электронном варианте.
C++ Вывод текста\картинки поверх всех окон. http://www.cyberforum.ru/cpp-beginners/thread376340.html
Подскажите, как реализовать вывод текста\картинки поверх всех окон?
C++ Преобразовать массив по правилу 14. Создать массив Y из n вещественных чисел. Преобразовать его по следующему правилу: Y = max { Y, ,…,Y }, где i=1, 2,…, n. В преобразованном массиве найти такие i и j, что сумма Y+Y+ … + Y будет максимальной. Дополнительный массив использовать нельзя! Нужно срочно... Заранее спасибо.. подробнее

Показать сообщение отдельно
x1Mike7x
 Аватар для x1Mike7x
214 / 127 / 6
Регистрация: 06.11.2010
Сообщений: 234
02.11.2011, 02:25     АТД Графы. Поиск суммы расстояний между городами.
Есть алгоритм Флойда-Уоршелла, который обрабатывает матрицу смежности и выдает матрицу, в которой для каждой пары вершин будет содержаться минимальный путь между ними.
Вот примерный код:
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
#define M 123456789
 
int main()
{
    int V_min, TS = M, S, N, A[100][100] = {};
    std::cin >> N; // Ввод количества вершин
    // Ввод матрицы смежности
    for ( int i = 0; i < N; ++i )
        for ( int j = 0; j < N; ++j )
        {
            std::cin >> A[i][j];
            if ( A[i][j] == 0 )
                A[i][j] = M;
        }
    // Алгоритм Флойда-Уоршелла
    for ( int k = 0; k < N; ++k )
        for ( int i = 0; i < N; ++i )
            for ( int j = 0; j < N; ++j )
                A[i][j] = std::min( A[i][j], A[i][k] + A[k][j] );
    // Ищем вершину с минимальной суммой
    for ( int i = 0; i < N; ++i )
    {
        S = 0;
        for ( int j = 0; j < N; ++j )
            S += A[i][j];
        if ( S < TS )
        {
            TS = S;
            V_min = i;
        }
    }
    std::cout << V_min // вывод города с минимальным расстоянием ( нумерация с 0 )
}
 
Текущее время: 11:51. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru