IPB
ЛогинПароль:

> Внимание!

1. Пользуйтесь тегами кода. - [code] ... [/code]
2. Точно указывайте язык, название и версию компилятора (интерпретатора).
3. Название темы должно быть информативным. В описании темы указываем язык!!!

> ПВГ, c++
Rocket
сообщение 10.05.2009 13:59
Сообщение #1


Знаток
****

Группа: Пользователи
Сообщений: 306
Пол: Мужской
Реальное имя: Евгений

Репутация: -  0  +


Переделал рекурсивную реализацию ПВГ, написанную на pascal'е, на c++. Тестирую реализацию на графе, приведенном на рисунке. Вместо ожидаемого вывода 1 3 2 6 7 5 4 8 9 (корректный обход, приведенный на втором рисунке), я получаю 1 3 4 2 5 6 7 8 9 . Где ошибка в алгоритме?


Эскизы прикрепленных изображений
Прикрепленное изображение

Прикрепленные файлы
Прикрепленный файл  dst.cpp ( 1.55 килобайт ) Кол-во скачиваний: 171
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
 
 Ответить  Открыть новую тему 
Ответов
volvo
сообщение 10.05.2009 15:55
Сообщение #2


Гость






Цитата
Как исправить?
Очень просто: вспомнить, что в С есть "операция-запятая", которую ты пытаешься здесь использовать, но оно тебе не надо. А надо тебе обращаться к элементам многомерных массивов, и это делается так:
if (((a[v][i]) != 0) && (Nnew[i])) Pg(i);
Видишь разницу между тем, что ты пытался сделать, и тем, что написано у меня?
 К началу страницы 
+ Ответить 
Rocket
сообщение 10.05.2009 16:18
Сообщение #3


Знаток
****

Группа: Пользователи
Сообщений: 306
Пол: Мужской
Реальное имя: Евгений

Репутация: -  0  +


Цитата(volvo @ 10.05.2009 16:55) *

Очень просто: вспомнить, что в С есть "операция-запятая", которую ты пытаешься здесь использовать, но оно тебе не надо. А надо тебе обращаться к элементам многомерных массивов, и это делается так:
if (((a[v][i]) != 0) && (Nnew[i])) Pg(i);
Видишь разницу между тем, что ты пытался сделать, и тем, что написано у меня?

Спасибо, volvo! В который раз подводит меня невнимательность...
Ещё вопрос. Мне по заданию нужно отрисовывать граф и дерево, у меня написана программа на Delphi, которая рисует граф по матрице смежности, которую я пишу в файл в основной программе на c++, где реализован основной алгоритм (ПВШ, а теперь и ПВГ). Вобщем, как в данном случае матрицу смежности получить?
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

Сообщений в этой теме


 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 



- Текстовая версия 20.07.2025 21:22
Хостинг предоставлен компанией "Веб Сервис Центр" при поддержке компании "ДокЛаб"