Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

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

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

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 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 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



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