IPB
ЛогинПароль:

> ВНИМАНИЕ!

Прежде чем задать вопрос, смотрите FAQ.
Рекомендуем загрузить DRKB.

 
 Ответить  Открыть новую тему 
> заполнение массива через Stringrid
сообщение
Сообщение #1


Новичок
*

Группа: Пользователи
Сообщений: 25
Пол: Мужской
Реальное имя: Василий

Репутация: -  0  +


программа перемножения матриц
тремя переменными здесь уже вроде не обойтись, поэтому приходится обращаться к массивам
НО при попытке заполнить массив данными вылетает страшная ошибка в 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 -
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #2


Гость






Прежде, чем массив заполнять, надо выделить для него место, правда?

Var a: array of array of integer;
...
SetLength(a, StringGrid1.RowCount, StringGrid1.ColCount);

должно помочь...
 К началу страницы 
+ Ответить 
сообщение
Сообщение #3


Новичок
*

Группа: Пользователи
Сообщений: 25
Пол: Мужской
Реальное имя: Василий

Репутация: -  0  +


ойойой
елки
точно
забыл) blush.gif
извянитя=)
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #4


Новичок
*

Группа: Пользователи
Сообщений: 25
Пол: Мужской
Реальное имя: Василий

Репутация: -  0  +


не получается cray.gif
посмотрите пжлст программу (умножение)
архив прикрепляю


Прикрепленные файлы
Прикрепленный файл  ________.rar ( 38.67 килобайт ) Кол-во скачиваний: 64
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #5


Новичок
*

Группа: Пользователи
Сообщений: 25
Пол: Мужской
Реальное имя: Василий

Репутация: -  0  +


и еще вопрос
можно ли это сделать без массива, и правильно ли это будет
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #6


просто человек
******

Группа: Пользователи
Сообщений: 3 641
Пол: Женский
Реальное имя: Юлия

Репутация: -  55  +


предлагаешь по 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]


--------------------
Все содержимое данного сообщения (кроме цитат) является моим личным скромным мнением и на статус истины в высшей инстанции не претендует.
На вопросы по программированию, физике, математике и т.д. в аське и личке не отвечаю. Даже "один-единственный раз" в виде исключения!
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 




- Текстовая версия 24.10.2017 18:23
Хостинг предоставлен компанией "Веб Сервис Центр" при поддержке компании "ДокЛаб"