Форум программистов
 
Контакты: о проблемах с регистрацией, почтой и по другим вопросам пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail.

Вернуться   Форум программистов > C++ > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Здесь нужно купить рекламу за 25 тыс руб в месяц! ) пишите сюда - alarforum@yandex.ru

Ответ
 
Опции темы
Старый 29.05.2013, 17:30   #1
pikemes
Новичок
Джуниор
 
Регистрация: 29.05.2013
Сообщений: 4
По умолчанию Обход графа в ширину

Помогите найти ошибки. Написал код в C++ для обхода графа в ширину. Должен выводить (если начинать с 1 вершины): 1,3,4,2,6,5,7,8,9.

#include <iostream>
#include <iomanip>
using namespace std;
void BFS(int n, int **Graph, bool *Visited, int Node){
int *List = new int[n];
int Count, Head;
int i;
for (i = 0; i < n ; i++)
List[i] = 0;
Count = Head = 0;
List[Count++] = Node;
Visited[Node] = true;
while ( Head < Count ) {
Node = List[Head++];
cout << Node << endl;
for (i = 0 ; i < n ; i++)
if (Graph[Node][i] && !Visited[i]){
List[Count++] = i;
Visited[i] = true;
}
}
}
int main ()
{
setlocale(LC_CTYPE,"Russian");
int matrix[9][9]={0,0,1,1,0,0,0,0,0,
0,0,1,0,0,0,0,0,0,
1,1,0,0,0,1,0,0,0,
1,0,0,0,1,0,0,0,0,
0,0,0,1,0,0,1,1,0,
0,0,1,0,0,0,1,0,0,
0,0,0,0,1,1,0,1,1,
0,0,0,0,1,0,1,0,0,
0,0,0,0,0,0,1,0,0};
int ** matrix2;
matrix2 = new int * [9];
for(int i=0; i<=8; i++)
{
matrix2[i] = new int [9];
}
for(int i=0; i<=8; i++)
{
for (int j=0; j<=8; j++)
matrix2[i][j] = matrix[i][j];
}
cout<<"Матрица смежности:"<<endl;
for(int i=0; i<=8; i++)
{
for (int j=0; j<=8; j++)
{
cout<<matrix2[i][j]<<" ";
}
cout<<endl;
}
cout << endl;
cout << endl;
cout << "Обход графа в ширину:" << endl << endl;
bool v[9];
BFS(9,matrix2, v, 0);
cout << endl;
system("pause");
}
pikemes вне форума   Ответить с цитированием
Ответ

Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Обход графа: в глубину, ширину. Алгоритм Прима Fantom.as Общие вопросы C/C++ 0 18.05.2012 17:09
Обход графа Cpluser Общие вопросы .NET 3 06.04.2010 20:19
обход графа в ширину! КсенияСергеевна Общие вопросы C/C++ 0 13.12.2009 00:25
обход графа в ширину anemy Помощь студентам 0 20.11.2009 02:02
Обход графа в ширину. ZhooZhik Помощь студентам 1 06.04.2009 08:35


08:34.


Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2019, Jelsoft Enterprises Ltd.