IPB
ЛогинПароль:

> Прочтите прежде чем задавать вопрос!

1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!

 
 Ответить  Открыть новую тему 
> Error 113, Error in statement
Слай
сообщение 28.06.2008 13:59
Сообщение #1


Новичок
*

Группа: Пользователи
Сообщений: 19
Пол: Мужской
Реальное имя: Евгений

Репутация: -  0  +


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

Фигня вот в чем:
 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... в чем проблема?
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
Serij
сообщение 28.06.2008 14:05
Сообщение #2





Группа: Пользователи
Сообщений: 1
Пол: Мужской
Реальное имя: Сергей

Репутация: -  0  +


Желательно увидеть всю программу...
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
volvo
сообщение 28.06.2008 14:06
Сообщение #3


Гость






Цитата
в чем проблема?
В приведенном фрагменте - в том, что переменная WhatKind не описана...
 К началу страницы 
+ Ответить 
Слай
сообщение 28.06.2008 14:12
Сообщение #4


Новичок
*

Группа: Пользователи
Сообщений: 19
Пол: Мужской
Реальное имя: Евгений

Репутация: -  0  +


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

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

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

Цитата

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

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

Сообщение отредактировано: Слай - 28.06.2008 14:15


Прикрепленные файлы
Прикрепленный файл  PRACT.PAS ( 5.12 килобайт ) Кол-во скачиваний: 212
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
volvo
сообщение 28.06.2008 14:22
Сообщение #5


Гость






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

Цитата
перед процедурой 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 14:25
Сообщение #6


Новичок
*

Группа: Пользователи
Сообщений: 19
Пол: Мужской
Реальное имя: Евгений

Репутация: -  0  +


блин... и то правда smile.gif
спасибо!
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 

- Текстовая версия 18.07.2025 20:02
Хостинг предоставлен компанией "Веб Сервис Центр" при поддержке компании "ДокЛаб"