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

Поиск в ширину: Wrong number of procedure parameters

04.06.2016, 17:38. Показов 595. Ответов 10
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Помогите исправить програму поиска в ширину.
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
38
39
40
41
42
43
44
45
46
47
48
49
visited: MassivBool;
{матрица смежности графа}
const GM: MassivInt = (
(0, 1, 1, 0),
(0, 0, 1, 1),
(1, 0, 0, 1),
(0, 1, 0, 0));
{поиск в ширину}
procedure BFS (visited: MassivBool; _unit: integer; var i:integer);
var
queue: array [1..n] of integer;
count, head: integer;
begin
for i:=1 to n do queue [i]:=0;
count:=0; head:=0;
count:=count+1;
queue [count]:=_unit;
visited[_unit]:=true;
while head<count do
begin
head:=head+1;
_unit:=queue [head];
write (_unit, ' ');
for i:=1 to n do
begin
if (GM [_unit, i] <>0) and (not visited [i]) then
begin
count:=count+1;
queue [count]:=i;
visited [i]:=true;
end;
end;
end;
end;
{основной блок программы}
begin
clrscr;
write ('Стартовая вершина >> '); read (start);
writeln ('Матрица смежности графа: ');
for i:=1 to n do
begin
visited [i]:=false;
for j:=1 to n do
write (' ', GM [i, j]);
writeln;
end;
write ('Порядок обхода: ');
BFS (start,visited);
end.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
04.06.2016, 17:38
Ответы с готовыми решениями:

Код с ошибкой, Error: Found declaration, Error: Wrong number of parameters specified for call
Задние: Заполнить двумерный массив случайными числами. Размерность массива и диапазон генерации...

Нарисовать дом используя procedure Line, procedure Circle, procedure Rectangle
Добрый вечер, нужна ваша помощь, просто на просто не успеваю.. Помогите пжлст... 2. Нарисовать дом...

Wrong Number of parametrs
Снова прошу вашей помощи. Вот сижу с этой прогой уже много времени, и просто глаза и мозг зависли...

Метод Гаусса и ошибка Wrong number of parametres specified for call to 'ff'
помогите,пожалуйста, выводит 'wrong number of parametres specified for call to 'ff' ...

10
Почетный модератор
Эксперт по компьютерным сетямЭксперт Windows
28040 / 15773 / 982
Регистрация: 15.09.2009
Сообщений: 67,752
Записей в блоге: 78
04.06.2016, 17:43 2
какая ошибка нужно конечно догадаться.
0
0 / 0 / 1
Регистрация: 28.11.2015
Сообщений: 10
04.06.2016, 17:49  [ТС] 3
Ошибку выдаёт в 50 строке.
0
Почетный модератор
64287 / 47586 / 32739
Регистрация: 18.05.2008
Сообщений: 115,182
04.06.2016, 17:50 4
Цитата Сообщение от Duneday Посмотреть сообщение
Ошибку выдаёт в 50 строке.
Выдержка из прикрепленного кода...
Цитата Сообщение от Duneday Посмотреть сообщение
50
И где ошибка?
0
0 / 0 / 1
Регистрация: 28.11.2015
Сообщений: 10
04.06.2016, 18:00  [ТС] 5
Компилятор выдает предупреждение Program1.pas(56) : Wrong number of procedure parameters.
0
Почетный модератор
64287 / 47586 / 32739
Регистрация: 18.05.2008
Сообщений: 115,182
04.06.2016, 18:03 6
Ну так покажи весь код, а то у тебя 49 строк, а ошибка в строке 56.
0
0 / 0 / 1
Регистрация: 28.11.2015
Сообщений: 10
04.06.2016, 18:06  [ТС] 7
Ой извини не правильно скопировал
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
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
program BreadthFirstSearch;
uses crt;
const n=4;
type
MassivInt=array [1..n, 1.. n] of integer;
MassivBool=array [1..n] of boolean;
var
i, j, start: integer;
visited: MassivBool;
{матрица смежности графа}
const GM: MassivInt = (
(0, 1, 1, 0),
(0, 0, 1, 1),
(1, 0, 0, 1),
(0, 1, 0, 0));
{поиск в ширину}
procedure BFS (visited: MassivBool; _unit: integer; var i:integer);
var
queue: array [1..n] of integer;
count, head: integer;
begin
for i:=1 to n do queue [i]:=0;
count:=0; head:=0;
count:=count+1;
queue [count]:=_unit;
visited[_unit]:=true;
while head<count do
begin
head:=head+1;
_unit:=queue [head];
write (_unit, ' ');
for i:=1 to n do
begin
if (GM [_unit, i] <>0) and (not visited [i]) then
begin
count:=count+1;
queue [count]:=i;
visited [i]:=true;
end;
end;
end;
end;
{основной блок программы}
begin
clrscr;
write ('Стартовая вершина >> '); read (start);
writeln ('Матрица смежности графа: ');
for i:=1 to n do
begin
visited [i]:=false;
for j:=1 to n do
write (' ', GM [i, j]);
writeln;
end;
write ('Порядок обхода: ');
BFS (start,visited);
end.
0
Почетный модератор
64287 / 47586 / 32739
Регистрация: 18.05.2008
Сообщений: 115,182
04.06.2016, 18:13 8
Строка 17
Pascal
1
procedure BFS (visited: MassivBool; _unit: integer; var i:integer);//3 параметра
строка 56
Pascal
1
BFS (start,visited);//уже только 2 параметра
1
Супер-модератор
Эксперт Pascal/DelphiАвтор FAQ
32569 / 21040 / 8131
Регистрация: 22.10.2011
Сообщений: 36,314
Записей в блоге: 8
04.06.2016, 18:15 9
Нормальный компилятор еще в 22-ой строке должен ошибку выдать. Ибо подобным образом использовать переменную i в качестве переменной цикла - НЕЛЬЗЯ
0
0 / 0 / 1
Регистрация: 28.11.2015
Сообщений: 10
04.06.2016, 18:22  [ТС] 10
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
count:=count+1;
queue [count]:=_unit;
visited[_unit]:=true;
while head<count do
begin
head:=head+1;
_unit:=queue [head];
write (_unit, ' ');
for i:=1 to n do
begin
if (GM [_unit, i] <>0) and (not visited [i]) then
begin
count:=count+1;
queue [count]:=i;
visited [i]:=true;
end;
end;
end;
end;
{основной блок программы}
begin
clrscr;
write ('Стартовая вершина >> '); read (start);
writeln ('Матрица смежности графа: ');
for i:=1 to n do
begin
visited [i]:=false;
for j:=1 to n do
write (' ', GM [i, j]);
writeln;
end;
write ('Порядок обхода: ');
BFS (start,visited);
end.
Спасибо, но теперь там же пишет Program1.pas(57) : Incompatible types: 'integer' and 'array [1..4] of boolean'

Добавлено через 4 минуты
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
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
program BreadthFirstSearch;
uses crt;
const n=4;
type
MassivInt=array [1..n, 1.. n] of integer;
MassivBool=array [1..n] of boolean;
var
i, j, start: integer;
visited: MassivBool;
{матрица смежности графа}
const GM: MassivInt = (
(0, 1, 1, 0),
(0, 0, 1, 1),
(1, 0, 0, 1),
(0, 1, 0, 0));
{поиск в ширину}
procedure BFS (visited: MassivBool; _unit: integer);
var
queue: array [1..n] of integer;
var i:integer;
count, head: integer;
begin
for i:=1 to n do queue [i]:=0;
count:=0; head:=0;
count:=count+1;
queue [count]:=_unit;
visited[_unit]:=true;
while head<count do
begin
head:=head+1;
_unit:=queue [head];
write (_unit, ' ');
for i:=1 to n do
begin
if (GM [_unit, i] <>0) and (not visited [i]) then
begin
count:=count+1;
queue [count]:=i;
visited [i]:=true;
end;
end;
end;
end;
{основной блок программы}
begin
clrscr;
write ('Стартовая вершина >> '); read (start);
writeln ('Матрица смежности графа: ');
for i:=1 to n do
begin
visited [i]:=false;
for j:=1 to n do
write (' ', GM [i, j]);
writeln;
end;
write ('Порядок обхода: ');
BFS (start,visited);
end.
0
Почетный модератор
64287 / 47586 / 32739
Регистрация: 18.05.2008
Сообщений: 115,182
04.06.2016, 18:29 11
Напиши так.
Pascal
1
2
3
4
procedure BFS (visited: MassivBool; _unit: integer);
var
queue: array [1..n] of integer;
i,count, head: integer;
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
04.06.2016, 18:29
Помогаю со студенческими работами здесь

Error: Wrong number of parameters specified for call to "Image1MouseUp"
Ситуация в следующем такова: при создании графического редактора в Лазарь я добавил функцию...

Error: Wrong number of parameters specified for call to "Image5Click" при назначении обработчика
Динамически создаем Image. Необходимо чтобы при нажатии на нее вызывалась procedure...

Светофор: ошибка "Wrong number of parameters specified"
Подсвечивает ошибку(Wrong number of parameters specified for call to &quot;OnShape&quot;), помогите исправить...

Ошибка "Error: Wrong number of parameters specified for call to "FloatToStrF""
и снова я. задание: создайте программу, в которой можно найти максимальное из четырех заданных...


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

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

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