![]() |
|
|
|||||||
| Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
|
Опции темы | Поиск в этой теме | Опции просмотра |
|
#16
|
|||
|
|||
|
DJ PhoeniX,
Вот это место вообще сбивает меня с последнего толку: Код:
m:=StringGrid1.ColCount; // ??
n:=StringGrid1.RowCount; // ??
for i:=0 to m-1 do
for j:=0 to n-1 do
a[i,j] := StrToInt(StringGrid1.Cells[i,j]);PS. То что она меняется хотя бы в одну сторону для меня является личным достяжеинем сама ведь написала, а не скопировала у кого-нибудь PPS. Да я сохранила уже rar с *.exe, но он по размеру не прошел для аттача, пришлось выбрать что-то для удаления.... PPPS. У меня Delphi6 BoRoV, ты прав конечно, но я там не правила потому, что уверена была что он туда и не доходит, валиться раньше. Admin -у (если прочтешь) Я научилась пользоваться тегами для кода!!! <happy> |
|
#17
|
||||
|
||||
|
У меня после той правки всё нормально работало, с какой размерностью ты работаешь?
|
|
#19
|
|||
|
|||
|
У меня сработало, когда я ввела m=n=p=q=2
Но если я задаю например m=1, n=p=2, q =3 (ожидаю получить матрицу 1х3), то вот как раз первоначальная ошибка выходит. |
|
#20
|
||||
|
||||
|
Выложи обновлённый код, и покажи строчку, где вылетает. Любопытный глюк.
|
|
#21
|
|||
|
|||
|
Вот он. Ошибка вылетает на той же строке, пометила ее как The error here.
|
|
#22
|
||||
|
||||
|
Поменяй все 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;Последний раз редактировалось BoRoV, 13.12.2010 в 01:09. |
|
#23
|
||||
|
||||
|
гм... не нравится мне этот глюк. при чём, именно глюк, так как при размерности 3*2 цикл пытается пройти по третьей строке... которой, ессно, нет...
|
|
#24
|
|||
|
|||
|
BoRoV,
да! работает!!! Е-хоу!!! Спасибо. ![]() |