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

Из C# на C++ - C++

Восстановить пароль Регистрация
 
Александр30
0 / 0 / 0
Регистрация: 06.06.2013
Сообщений: 14
04.07.2013, 12:24     Из C# на C++ #1
Помогите, пожалуйста, переписать из C# на C++.

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
34
public class BreadthFirstSearchAlgm
{ // Алгоритм обхода графа «Поиск в ширину»
public void BFS(graph g)
{
int[] Mark = new int[g.kol_vershn]; // массив пометок
int[] Parent = new int[g.kol_vershn]; // массив предков
for (int i = 0; i < g.kol_vershn; i++)
{
Mark[i] = 0;
Parent[i] = 0;
        }
Console.WriteLine("Вершины в порядке обхода");
Queue<int> Q = new Queue<int>(); // создание очереди
int v = 0;            // задание начальной вершины
Mark[v] = 1;      // пометим нач. вершину
Q.Enqueue(v);   // поместим нач. вершину в очередь
Console.Write("{0}  ", v);
while (Q.Count != 0) //Пока очередь не исчерпана
{ //взять из очереди очередную вершину 
v = Q.Dequeue();
for (int i = 0; i < g.kol_vershn; i++)
{
if ((g.matr_smeznosti[v, i] != 0) && (Mark[i] == 0))
{           // все непомеченные вершины,
Mark[i] = 1;    // смежные с текущей, помечаются 
Q.Enqueue(i);  // и помещаются в конец очереди
Parent[i] =v;    // v  – предок открытой вершины
Console.Write("{0}  ", i);
}
}
Mark[v] = 2; // вершина обработана
}
Console.WriteLine();
} }
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Maxtron
 Аватар для Maxtron
47 / 47 / 2
Регистрация: 17.11.2012
Сообщений: 224
Записей в блоге: 1
04.07.2013, 12:32     Из C# на C++ #2
Вот наброски, на 100% правильность не претендую
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
34
class BreadthFirstSearchAlgm
{ // Алгоритм обхода графа «Поиск в ширину»
public: 
    void BFS(graph g)
        {
        int *Mark = new int[g.kol_vershn]; // массив пометок
        int *Parent = new int[g.kol_vershn]; // массив предков
        for (int i = 0; i < g.kol_vershn; i++)
        {
        Mark[i] = 0;
        Parent[i] = 0;
        }
        cout << "Вершины в порядке обхода";
        Queue<int> Q = new Queue<int>(); // создание очереди
        int v = 0;            // задание начальной вершины
        Mark[v] = 1;      // пометим нач. вершину
        Q.Enqueue(v);   // поместим нач. вершину в очередь
        cout << "{0}  " << v;
        while (Q.Count != 0) //Пока очередь не исчерпана
        { //взять из очереди очередную вершину 
        v = Q.Dequeue();
        for (int i = 0; i < g.kol_vershn; i++)
        {
        if ((g.matr_smeznosti[v, i] != 0) && (Mark[i] == 0))
        {           // все непомеченные вершины,
        Mark[i] = 1;    // смежные с текущей, помечаются 
        Q.Enqueue(i);  // и помещаются в конец очереди
        Parent[i] =v;    // v  – предок открытой вершины
        cout << "{0}  " << i;
        }
        }
        Mark[v] = 2; // вершина обработана
        }
} };
Александр30
0 / 0 / 0
Регистрация: 06.06.2013
Сообщений: 14
04.07.2013, 12:42  [ТС]     Из C# на C++ #3
спасибо
Yandex
Объявления
04.07.2013, 12:42     Из C# на C++
Ответ Создать тему
Опции темы

Текущее время: 21:24. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru