Версия для печати темы

Нажмите сюда для просмотра этой темы в обычном формате

Форум «Всё о Паскале» _ Задачи _ Error 113

Автор: Слай 28.06.2008 17:59

Даже и не знал, куда запихнуть свой вопрос: то ли в Теорию, то ли в Задачи...

Фигня вот в чем:

 Procedure BuildMS;
Var i,j: integer;
StartOfEdge, EndOfEdge: integer; { // nachalo i konec dugi}
BEGIN
case WhatKind of
0:
begin { // !!! OF CASE = 0 }
for j:=1 to E do
begin
for i:=1 to N do
begin
if (MI[i,j] = 1) then StartOfEdge:=i;
if (MI[i,j]= -1) then EndOfEdge:=i;
end;
MSb[StartOfEdge,EndOfEdge]:=1;
end;

for i:=1 to N do
begin
for j:=1 to N do
begin
Write(' ',MSb[i,j]);
end;
WriteLn;
end;
end; { // !!! OF CASE = 0 }

1:
begin { // !!! OF CASE = 1 }
WriteLn('[x] Under Construction');
end; { // !!! OF CASE = 1 }
END;

при компиляции указывает на первую строчку процедуры и пишет Error in statement... в чем проблема?

Автор: Serij 28.06.2008 18:05

Желательно увидеть всю программу...

Автор: volvo 28.06.2008 18:06

Цитата
в чем проблема?
В приведенном фрагменте - в том, что переменная WhatKind не описана...

Автор: Слай 28.06.2008 18:12

Цитата(volvo @ 28.06.2008 15:06) *

В приведенном фрагменте - в том, что переменная WhatKind не описана...

данная переменная -- глобальная. то есть она имеется в главной программе...
и что самое интересное, перед процедурой BuildMS идет практически такая же процедура BuildMI, которая компилируется, судя по всему, нормально...

Цитата

Желательно увидеть всю программу...

сейсас тогда исходник прикреплю...


Прикрепленные файлы
Прикрепленный файл  PRACT.PAS ( 5.12 килобайт ) Кол-во скачиваний: 275

Автор: volvo 28.06.2008 18:22

Цитата
данная переменная -- глобальная. то есть она имеется в главной программе...
Данный форум - форум программистов, а не телепатов, и догадываться, что у тебя ИМЕЕТСЯ, и чего НЕ ИМЕЕТСЯ не входит в задачи форума...

Цитата
перед процедурой BuildMS идет практически такая же процедура BuildMI, которая компилируется, судя по всему, нормально...
Вот как раз BuildMI и не компилируется нормально... Ты забыл там End для Case:

Procedure BuildMI;
Var i,j: integer;
BEGIN
case WhatKind of
0:
begin { // !!! OF CASE = 0 }
E:=0; { // obnulyaem chislo dug }
for i:=1 to N do
for j:=1 to N do
if (MS[i,j] = 1) then
begin
E:=E+1; { // nashli dugu }
MI[i,E]:=1;
MI[j,E]:=-1;
end;

for i:=1 to N do
begin
for j:=1 to E do
begin
if(MI[i,j]<0) then Write(' ',MI[i,j])
else Write(' ',MI[i,j]);
end;
WriteLn;
end;
end; { // !!! OF CASE = 0 }

1:
begin { // !!! OF CASE = 1 }
WriteLn('[x] Under Construction');
end; { // !!! OF CASE = 1 }

end; { <--- Добавить}
END;
В том же месте надо добавить End и в процедуре BuildMS...

Автор: Слай 28.06.2008 18:25

блин... и то правда smile.gif
спасибо!