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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 24.08.2013, 13:13   #1
Svejk
 
Регистрация: 24.08.2013
Сообщений: 6
Печаль Ошибка при создании матрицы (access violation)

Доброго времени суток, очень надеюсь на вашу помощь, диплом стоит а срок идет.

При попытке заполнения матрицы выскакивает ошибка:



Код:
procedure TForm1.btn1Click(Sender: TObject);
var
i,j,m,n,col,row:Integer;
begin
row:=0;
 for j:=0 to 10 do begin
  for i:=0 to 10 do begin
    col:=0;
    for m:=0 to 10 do begin
      for n:=0 to 10 do begin
          MD[row+1,col+1]  := 90000+(1000*m+100*n+10*j+1*i);//m11*alpha_(m,i)*alpha(n,j)+m12*alpha(m,i)*alpha_(n,j);
          MD[row+1,col+2]  := 90000+(1000*m+100*n+10*j+1*i);//-m13*alpha_(m,i)*alpha_(n,j);
          MD[row+1,col+3]  := 90000+(1000*m+100*n+10*j+1*i);//-(m14*gamm_(m,i)*gamm(n,j)+m15*gamm__(m,i)*gamm(n,j));

          MD[row+2,col+1]  := 90000+(1000*m+100*n+10*j+1*i);//-m13*alpha_(m,i)*alpha_(n,j);
          MD[row+2,col+2]  := 90000+(1000*m+100*n+10*j+1*i);//m22*alpha(m,i)*alpha_(n,j) + m23*alpha_(m,i)*alpha(n,j);
          MD[row+2,col+3]  := 90000+(1000*m+100*n+10*j+1*i);//-m24*gamm(m,i)*gamm_(n,j);

          MD[row+3,col+1]  := 90000+(1000*m+100*n+10*j+1*i);//-(m14*gamm_(m,i)*gamm(n,j)+m15*gamm__(m,i)*gamm(n,j));
          MD[row+3,col+2]  := 90000+(1000*m+100*n+10*j+1*i);//-m24*gamm(m,i)*gamm_(n,j);
          MD[row+3,col+3]  := 90000+(1000*m+100*n+10*j+1*i);//m33*lambda(m,i)*lambda(n,j) + m34*lambda__(m,i)*lambda(n,j)+m35*lambda_(m,i)*lambda_(n,j) + m36*lambda(m,i)*lambda__(n,j);

          col := col + 3;
      end;
    end;
    row := row +3;
  end;
 end;
 edt1.Text:=FloatToStr(MD[0,0]);
end;
P.S. 90000+... - для проверки индексов элементов
Svejk вне форума Ответить с цитированием
Старый 24.08.2013, 13:46   #2
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

А какая размерность MD? Скорее всего выход за пределы. По коду row и col в индексах максимальные будут 360. С учетом еще +3, то размерность должна быть не меньше 1..363,1..363
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 24.08.2013, 14:28   #3
Svejk
 
Регистрация: 24.08.2013
Сообщений: 6
По умолчанию

размерность была [0.363,0..363] c [1.363,1..363] вроде заработало. Спасибо!)
Svejk вне форума Ответить с цитированием
Старый 24.08.2013, 14:30   #4
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

Ошибка здесь была
Код:
edt1.Text:=FloatToStr(MD[0,0]);
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Ответ


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

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
TList. Ошибка Access Violation при создании. thexqn Помощь студентам 3 28.11.2010 21:01
почему может возникать ошибка access violation...: write of address при создании динамического массива sleevman Помощь студентам 16 03.11.2009 20:49
access violation при создании обьекта goog Общие вопросы Delphi 12 11.01.2009 20:33