![]() |
Прежде чем задать вопрос, смотрите FAQ.
Рекомендуем загрузить DRKB.
![]() |
BananaMan |
![]()
Сообщение
#1
|
Новичок ![]() Группа: Пользователи Сообщений: 25 Пол: Мужской Реальное имя: Василий Репутация: ![]() ![]() ![]() |
программа перемножения матриц
тремя переменными здесь уже вроде не обойтись, поэтому приходится обращаться к массивам НО при попытке заполнить массив данными вылетает страшная ошибка в 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;
что не так? и можно ли вобще так делать? Сообщение отредактировано: volvo - 3.11.2006 20:44 |
![]() ![]() |
volvo |
![]()
Сообщение
#2
|
Гость ![]() |
Прежде, чем массив заполнять, надо выделить для него место, правда?
Var a: array of array of integer;
...
SetLength(a, StringGrid1.RowCount, StringGrid1.ColCount);
должно помочь... |
BananaMan |
![]()
Сообщение
#3
|
Новичок ![]() Группа: Пользователи Сообщений: 25 Пол: Мужской Реальное имя: Василий Репутация: ![]() ![]() ![]() |
ойойой
елки точно забыл) ![]() извянитя=) |
BananaMan |
![]()
Сообщение
#4
|
Новичок ![]() Группа: Пользователи Сообщений: 25 Пол: Мужской Реальное имя: Василий Репутация: ![]() ![]() ![]() |
не получается
![]() посмотрите пжлст программу (умножение) архив прикрепляю Прикрепленные файлы ![]() |
BananaMan |
![]()
Сообщение
#5
|
Новичок ![]() Группа: Пользователи Сообщений: 25 Пол: Мужской Реальное имя: Василий Репутация: ![]() ![]() ![]() |
и еще вопрос
можно ли это сделать без массива, и правильно ли это будет |
мисс_граффити |
![]()
Сообщение
#6
|
![]() просто человек ![]() ![]() ![]() ![]() ![]() ![]() Группа: Модераторы Сообщений: 3 641 Пол: Женский Реальное имя: Юлия Репутация: ![]() ![]() ![]() |
предлагаешь по 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] -------------------- Все содержимое данного сообщения (кроме цитат) является моим личным скромным мнением и на статус истины в высшей инстанции не претендует.
На вопросы по программированию, физике, математике и т.д. в аське и личке не отвечаю. Даже "один-единственный раз" в виде исключения! |
![]() ![]() |
![]() |
Текстовая версия | 27.07.2025 12:58 |