программа перемножения матриц тремя переменными здесь уже вроде не обойтись, поэтому приходится обращаться к массивам НО при попытке заполнить массив данными вылетает страшная ошибка в 8 строке
type vec=array of integer; var i,j,k:integer; a,b,res:array of vec; begin for i:=1 to StringGrid1.RowCount-1 do for j:=1 to StringGrid1.ColCount-1 do begin a[i,j]:=StrToInt(StringGrid1.Cells[i,j]); end;
предлагаешь по 4 модулям искать нужную процедуру и пытаться отладить? имхо, это банальное проявление неуважения.
дальше. делфи вывод вполне конкретную ошибку. читать не пробовал, какую?
сделать без массива при большом желании можно. будет ли правильно - зависит от того, как сформулировано задание. с учетом, что этого мы не знаем, задай вопрос на оракул.ру.
З.Ы. судя по коду, ты абсолютно не понимаешь принципа работы с двумерными массивами. в другой теме тебе указывала на эти ошибки - и ты опять повторяешь. циклы по строкам и столбцам должны быть связаны вполне определенным образом.
например, вот это:
for j:=1 to StringGrid1.RowCount-1 do begin if (StringGrid1.Cells[1,j]='') or (StringGrid2.Cells[1,j]='') then begin ShowMessage('Матрицы имеют незаполненные ячейки'); break; end
-ерунда полная. ты проверишь на наличие незаполненных ячеек только первый столбец.
for i:=0 to m-1 do for j:=0 to n-1 do begin a[i,j]:=StrToInt(StringGrid1.Cells[i,j]); end;
-у стринггридов и массивов нумерация идет наоборот. если элемент массива [i,j], то у стринггрида [j,i]
--------------------
Все содержимое данного сообщения (кроме цитат) является моим личным скромным мнением и на статус истины в высшей инстанции не претендует. На вопросы по программированию, физике, математике и т.д. в аське и личке не отвечаю. Даже "один-единственный раз" в виде исключения!