0 / 0 / 0
Регистрация: 05.05.2019
Сообщений: 74
1

Перевод с Pascal на C++

07.05.2019, 13:31. Показов 460. Ответов 2
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Pascal
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
35
36
37
program Project1;
uses crt;
const
n=5;
var
i, j, start: integer;
visited: array[1..n] of boolean;
const graph: array[1..n,1..n] of byte =
((0, 0, 0, 0, 1),
(1, 0, 0, 0, 0),
(0, 0, 0, 0, 1),
(1, 0, 0, 0, 0),
(0, 0, 1, 1, 0));
{поиск в глубину}
procedure DFS(st: integer);
var r: integer;
begin
write(st:2);
visited[st]:=true;
for r:=1 to n do
if (graph[st, r]<>0) and (not visited[r]) then
DFS(r);
end;
{основной блок программы}
begin
clrscr;
writeln('Матрица смежности:');
for i:=1 to n do
begin
visited[i]:=false;
for j:=1 to n do
write(graph[i, j],' ');
writeln;
end;
write('Стартовая вершина: '); read(start);
writeln('Результат обхода: '); DFS(start);
end.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
07.05.2019, 13:31
Ответы с готовыми решениями:

Перевод с Pascal на СИ++
Ребят помогите найти ошибку вот код с паскаля норм рабочий Program prim; uses Crt; var...

Перевод с Pascal на C
Помогите пожалуйста перевести с Pascal на C, пытался но ничего стоящего не выходит Заранее...

Перевод из C++ в Pascal
Поможет кто перевести сей код из С++ в Pascal(любой)? Общий объем памяти на диске 360 Кбайт....

Перевод из c++ на pascal
Помогите перевести с c++ на Паскаль. #include &quot;stdafx.h&quot; #include&lt;iostream&gt; #include&lt;math.h&gt;...

2
0 / 0 / 0
Регистрация: 05.05.2019
Сообщений: 74
11.05.2019, 18:32  [ТС] 2
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
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
#include <iostream>
#include <ctime>
#include <vector>
#include <conio.h>
 
using namespace std;
 
const int n = 5;
int i, j;
//матрица смежности графа
int GM[n][n] =
{
    { 0,1,0,0,1 },
{ 1,0,1,0,0 },
{ 0,1,0,1,0 },
{ 0,0,1,0,1 },
{ 1,0,0,1,0 }
};
vector < vector <int> > g(n);
vector <int> used(n); //массив меток. в начале его нужно заполнить 0.
vector <int> tin, tout; //время входа и выхода для каждой вершины.
 
bool *visited = new bool[n];
//поиск в ширину(Breadth - first search, BFS)
void BFS(bool *passed, int unit)
{
    //очередь
    int *queue = new int[n];
    //указатели очереди
    int count, head;
    for (i = 0; i<n; i++) queue[i] = 0;
    count = 0; head = 0;
    queue[count++] = unit;
    passed[unit] = true; //помечаем исходную вершину
    while (head<count) //пока очередь не пуста
    {
        unit = queue[head++]; //извлекаем текущую вершину
        cout << unit + 1 << " ";
        for (i = 0; i<n; i++) //перебираем вершины
            if (GM[unit][i] && !passed[i]) //если i не помечена и смежна с i
            {
                queue[count++] = i; //и добавляем в очередь
                passed[i] = true; //помечаем ее
            }
    }
    delete[]queue;
}
 
//поиск в глубину (Depth-first search, DFS) 
void DFS(int st)
{
    int r; //вершины графа
    cout << st + 1 << " ";
    visited[st] = true; //помечаем вершину
    for (r = 0; r <= n; r++) //перебираем вершины
        if ((GM[st][r] != 0) && (!visited[r])) //если вершина не помечена, и смежна с текущей
            DFS(r); //рекурсивно запускаем от нее DFS
}
 
////функция принимает граф с количеством вершин n и выполняет обход во всем графе
int main()
{
    setlocale(LC_ALL, "Rus");
    int start;
    //массив посещенных вершин
    bool *vis = new bool[n];
    cout << "Матрица смежности графа: " << endl;
    int l, k;
    l = k = 0;
    for (i = 0; i<n; i++)
    {
        used[i] = 0;
        visited[i] = false;
        vis[i] = false;
        for (j = 0; j<n; j++)
        {
 
            cout << " " << GM[i][j];
        }
        cout << endl;
    }
    for (i = 0; i < n; ++i)
    {
        for (j = 0; j<n; j++)
            if (GM[i][j] == 1) k++;
        g[i].resize(k);
        for (j = 0; j<n; j++)
            if (GM[i][j] == 1)
            {
                g[i][l] = j + 1;
                l++;
            }
        l = 0; k = 0;
    }
    for (i = 0; i<n; i++)
    {
        for (j = 0; j<(int)g[i].size(); j++)
        {
 
            cout << " " << g[i][j];
        }
        cout << endl;
    }
    cout << "Стартовая вершина >> "; cin >> start;
    //массив посещенных вершин
    cout << "Порядок обхода в ширину: ";
    BFS(vis, start - 1);
    cout << "\n" << "Порядок обхода в глубину: ";
    DFS(start - 1);
    delete[]visited;
    delete[]vis;
    system("pause>>void");
}
0
0 / 0 / 0
Регистрация: 05.05.2019
Сообщений: 74
17.05.2019, 10:32  [ТС] 3
Тема закрыта
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
17.05.2019, 10:32
Помогаю со студенческими работами здесь

Перевод C++ в Pascal
Помогите пожалуйста перевести с++ в pascal #include &quot;stdafx.h&quot; #include &lt;iostream&gt; #include...

Перевод с С++ на Pascal
Всех приветствую, просьба перевести код, всю голову сломал. С уважением, Владислав! #include...

Перевод из С ++ в Pascal
Здравсвуйте, помогите перевести код из С++ в Pascal. Пожалуйста!! #include&lt;stdio.h&gt;...

Перевод с Pascal на Си
Доброго времени суток, помогите пожалуйста перевести с Pascal на Си или может есть что нибудь...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2023, CyberForum.ru