
13.12.2010, 00:52
|
 |
Начинающий
|
|
Регистрация: 08.09.2008
Сообщения: 193
Репутация: 12694
|
|
Поменяй все StringGrid.Сells[i, j] на StringGrid.Сells[j, i] и цикл для l тоже с нуля.
и еще это
Код:
x[i,j]:=x[i,j]+a[i, l]*b[l, j];
Ну в общем вот:
Код:
// задаем колчиство строк и стобцов
m := StrToInt(Edit1.Text);
n := StrToInt(Edit2.Text);
{
StringGrid1.RowCount := n;
StringGrid1.ColCount := m;
// StringGrid1
// Считываем значения с матриц }
for i:=0 to m-1 do {цикл по строкам}
for j:=0 to n-1 do {цикл по столбцам}
a[i,j] := StrToInt(StringGrid1.Cells[j,i]);
p:=StrToInt(Edit2.Text);
q:=StrToInt(Edit4.Text);
for i:=0 to p-1 do {цикл по строкам}
for j:=0 to q-1 do {цикл по столбцам}
b[i,j] := StrToInt(StringGrid2.Cells[j,i]);
// перемножаем матрицы
For i:= 0 to m-1 do
For j:= 0 to q-1 do
Begin
x[i,j]:=0;
For l:= 0 to n-1 do
begin
x[i,j]:=x[i,j]+a[i, l]*b[l, j];
end;
end;
// выводим значение в результирующую матрицу
for i:=0 to m-1 do
begin
for j:=0 to q-1 do
begin
StringGrid3.cells[j, i]:=IntToStr(x[i,j]);
end;
end;
__________________
Меня греют ваши плюсы к моей репутации...
|