1. Пользуйтесь тегами кода. - [code] ... [/code]
2. Точно указывайте язык, название и версию компилятора (интерпретатора).
3. Название темы должно быть информативным.
В описании темы указываем язык!!!
| Krjuger |
7.11.2010 20:00
Сообщение
#1
|
|
Профи ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 652 Пол: Мужской Реальное имя: Алексей Репутация: 20 |
Дан граф. Требуется построить для него матрицу расстояний. Если пути не существует, тщ елемент матрици равен -1.Для висячих вершин (вершин степени 0) положим так же -1, для всех остальных вершин на диагонале положим 2.
Ввод: граф, представленный в формате FO. Размер графа не более 150 вершин. Тобиш при вводе в программу. 5 0 3 4 0 2 5 0 2 5 0 3 4 0 я должен получить результат -1 -1 -1 -1 -1 -1 2 1 1 2 -1 1 2 2 1 -1 1 2 2 1 -1 2 1 1 2 Задачу надо решить успользуя алгоритм Флойда.Для его использования надо исходные данные преобразовать в матрицу смежности,вот тут то у меня и возникли проблемы.
Как я не старался получить что либо более сносное,ничего не вышло,поэтому прошу помощи. |
![]() ![]() |
| volvo |
7.11.2010 22:29
Сообщение
#2
|
|
Гость |
Ну, ты б для начала проверил, правильно ли заполняется матрица смежности. Я бы сделал так:
#include <iostream> На твоих входных данных выдает:
(элементы главной диагонали были сброшены в ноль, по привычке. Можешь потом пройтись по матрице и заполнить их чем угодно.) |
Krjuger Матрица расстояний.С++ 7.11.2010 20:00
Krjuger Спасибо огромное,я изначально понимал,что именно в... 8.11.2010 1:34
Krjuger Так,я немного погорячился,так что то что в предыду... 8.11.2010 12:17![]() ![]() |
|
Текстовая версия | 8.12.2025 15:23 |