Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 09.05.2013, 23:13   #1
AnnNoob
Пользователь
 
Регистрация: 23.04.2013
Сообщений: 11
По умолчанию Ошибка в объявлении параметра функции (матрицы)

объявление ф-ции
Код:
function rank(mas: array [1..3,1..3] of integer): integer;
сама ф-ция
Код:
function TForm2.rank(mas: array [1..3,1..3] of integer): integer;
var i,j,k,R,m1,m2,m3,m4,m5,m6,m7,m8,m9: integer;
begin
  r:=0;
  r:=mas[1][1]*mas[2][2]*mas[3][3]+mas[3][1]*mas[1][2]*mas[2][3]+mas[2][1]*mas[3][2]*mas[1][3]-mas[3][1]*mas[2][2]*mas[1][3]-mas[1][1]*mas[3][2]*mas[2][3]-mas[2][1]*mas[1][2]*mas[3][3];
  if r<>0 then
  Begin
    Rank:=3;
    exit;
  end;

  m1:=mas[2][2]*mas[3][3]-mas[2][3]*mas[3][2];
  m2:=mas[2][1]*mas[3][3]-mas[2][3]*mas[3][1];
  m3:=mas[2][1]*mas[3][2]-mas[2][2]*mas[3][1];
  m4:=mas[1][2]*mas[3][3]-mas[1][3]*mas[3][2];
  m5:=mas[1][1]*mas[3][3]-mas[1][3]*mas[3][1];
  m6:=mas[1][1]*mas[3][2]-mas[1][2]*mas[3][1];
  m7:=mas[1][1]*mas[2][2]-mas[1][2]*mas[2][1];
  m8:=mas[1][1]*mas[2][3]-mas[1][3]*mas[2][1];
  m9:=mas[1][2]*mas[2][3]-mas[1][3]*mas[2][2];
  if (m1<>0) or (m2<>0) or (m3<>0) or (m4<>0) or (m5<>0) or (m6<>0) or (m7<>0) or (m8<>0) or (m9<>0) then
  Begin
    Rank:=2;
    exit;
  end;

  Rank:=1;
  exit;
end;
выдает ошибку [Error] Unit2.pas(87): 'OF' expected but '[' found в выделеных красным местах.
если убрать размерность матрицы, все норм, но до момента выделеного зеленым. там выплывает [Error] Unit2.pas(109): Array type required
AnnNoob вне форума Ответить с цитированием
Старый 09.05.2013, 23:30   #2
tools
Форумчанин
 
Регистрация: 07.10.2008
Сообщений: 213
По умолчанию

в разделе type объявите отдельно тип для своего массива и в параметрах указывайте потом
tools вне форума Ответить с цитированием
Старый 09.05.2013, 23:33   #3
AnnNoob
Пользователь
 
Регистрация: 23.04.2013
Сообщений: 11
По умолчанию

Цитата:
Сообщение от tools Посмотреть сообщение
в разделе type объявите отдельно тип для своего массива и в параметрах указывайте потом
спасибо) только что догадалась.
вот только вторая ошибка осталась
AnnNoob вне форума Ответить с цитированием
Старый 09.05.2013, 23:38   #4
tools
Форумчанин
 
Регистрация: 07.10.2008
Сообщений: 213
По умолчанию

какая вторая ошибка ? Вероятно, вы неправильно исправили первую ошибку, поэтому вторая появилась.
tools вне форума Ответить с цитированием
Старый 09.05.2013, 23:44   #5
AnnNoob
Пользователь
 
Регистрация: 23.04.2013
Сообщений: 11
По умолчанию

нет, она изначально была
[Error] Unit2.pas(109): Array type required
Код:
  r:=mas[1][1]*mas[2][2]*mas[3][3]+mas[3][1]*mas[1][2]*mas[2][3]+mas[2][1]*mas[3][2]*mas[1][3]-mas[3][1]*mas[2][2]*mas[1][3]-mas[1][1]*mas[3][2]*mas[2][3]-mas[2][1]*mas[1][2]*mas[3][3];
  if r<>0 then
  Begin
    Rank:=3;
    exit;
  end;

  m1:=mas[2][2]*mas[3][3]-mas[2][3]*mas[3][2];
  m2:=mas[2][1]*mas[3][3]-mas[2][3]*mas[3][1];
  m3:=mas[2][1]*mas[3][2]-mas[2][2]*mas[3][1];
  m4:=mas[1][2]*mas[3][3]-mas[1][3]*mas[3][2];
  m5:=mas[1][1]*mas[3][3]-mas[1][3]*mas[3][1];
  m6:=mas[1][1]*mas[3][2]-mas[1][2]*mas[3][1];
  m7:=mas[1][1]*mas[2][2]-mas[1][2]*mas[2][1];
  m8:=mas[1][1]*mas[2][3]-mas[1][3]*mas[2][1];
  m9:=mas[1][2]*mas[2][3]-mas[1][3]*mas[2][2];
вобщем она на каждом элементе массива вылазит.
AnnNoob вне форума Ответить с цитированием
Старый 09.05.2013, 23:56   #6
tools
Форумчанин
 
Регистрация: 07.10.2008
Сообщений: 213
По умолчанию

Еще раз говорю, скорее всего Вы что-то неправильно исправили или написали в куске кода, который не показываете.

P.S. И если Вы так реализовали метод окаймляющих миноров - то это "зря".
tools вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
deque. Ошибка при объявлении итератора 8Observer8 Общие вопросы C/C++ 10 26.01.2013 00:31
Ошибка при объявлении переменных mishev Общие вопросы C/C++ 20 23.08.2012 20:19
Ошибка при объявлении массива(Ordinal type expected). Leshii Паскаль, Turbo Pascal, PascalABC.NET 12 31.07.2012 21:03
Ошибка при объявлении файла записей bogdanidze Помощь студентам 2 13.05.2011 08:26
Ошибка в объявлении переменных Superlotles Помощь студентам 1 17.12.2009 17:05