Форум: "Основная";
Текущий архив: 2003.10.02;
Скачать: [xml.tar.bz2];
ВнизМассивы Найти похожие ветки
← →
SergeyM (2003-09-19 15:28) [0]Здравствуйте все.
Подскажите плз, как мне получить динамический двумерный массив.
Тотже но одномерный, определяю в нем кол-во элементов через SelLength(a,d-1), а как быть в многомерном?
← →
Palladin (2003-09-19 15:30) [1]var
a:array of array of integer;
setlength(a,2);
setlength(a[0],3);
setlength(a[1],2);
← →
SergeyM (2003-09-19 15:32) [2]Palladin Привет, если не трудно опиши последние две строчки.
← →
SergeyM (2003-09-19 15:46) [3]Плиз поясните мне что написано в двух последних строках у Palladin"a
← →
Nikolay M. (2003-09-19 15:49) [4]Указание размерности двумерного массива: 3Х2.
← →
Владислав (2003-09-19 15:52) [5]setlength(a[0],3);
setlength(a[1],2);
Вот это и написано. Установка размера массивов. Ну, типа, массивы то многомерные. А вообще, пример в хелпе же есть. Он же, в общем то, достаточно понятный. Типа, F1, и счастье наступает.
← →
SergeyM (2003-09-19 15:53) [6]Значит чтобы получить многомерный массив нужно описать все три строки или достаточно двух.
← →
SergeyM (2003-09-19 15:55) [7]Владиславу: поставил курсор на слово и получил описание одномерного массива.
← →
Владислав (2003-09-19 16:00) [8]"получить многомерный массив"
Смущает фраза. Если Вы правильно выразились, а я правильно понял, то да :-)
> SergeyM (19.09.03 15:55) [7]
Ну типа поисковую думалку включить надо. Думаю, что пользование хелпом, не сложнее, чем сам паскаль.
← →
SergeyM (2003-09-19 16:03) [9]Без базара, нашел :-)
← →
Владислав (2003-09-19 16:08) [10]> SergeyM (19.09.03 16:03) [9]
Ну и чудно! Удачи! ;-)
← →
SergeyM (2003-09-19 16:16) [11]Да вот ни че не получается блин!
Задача у меня такая нужно найти алгебраическое дополнение к исходной матрице, а там как известно нужно из 4-х мерной в 3-х мерную переводить, и делфя ошибку сразу выдает.
← →
Владислав (2003-09-19 16:19) [12]> SergeyM (19.09.03 16:16) [11]
Блин, нету тут телепатов. Остальные заявления - понты дешевые :-)
Код давай. Ошибку тоже.
← →
SergeyM (2003-09-19 16:23) [13]Может где не прав извеняйте.
function TForm1.Dop(m, n, k: integer): Integer;
var i,j,x,y:integer;
e,a: array of array of integer;
begin
x:=1;
y:=1;
SetLength(e,k-1); //это под ? я ее тыкал везде
SetLength(e[x],k-1); //тоже
SetLength(a,k);
for i:=Low(a) to High(a) do
begin
Memo2.Lines.Add("");
SetLength(a[i],k);
for j:=Low(a[i]) to High(a[i]) do
begin
if (a[i,j] = a[m,j] or a[i,n]) then //здесь после ошибки выделяет строку
begin
a[i,j]:=a[i,j];
end
else
begin
e[x,y]:=a[i,j];
Memo2.SelText:=IntToStr(e[x,y])+" ";
if y = k-1 then
begin
inc(x);
y:=1;
end
else inc(y);
end;
end;
end;
Ошибка:
"Попытка доступа в адрес такой-то в моем модуле чтение из адреса 0000000000
← →
Sandman25 (2003-09-19 16:32) [14]for j:=Low(a[i]) to High(a[i]) do
begin
if (a[i,j] = a[m,j] or a[i,n]) then //здесь после ошибки выделяет строку
begin
a[i,j]:=a[i,j];
end
Странные конструкции...
Может, так:
if (a[i,j] = a[m,j]) or (a[i,n] = ?)
Это вообще непонятно зачем
a[i,j]:=a[i,j];
И нужно быть уверенным, что существует элемент a[m,j]. Массив прямоугольный? В смысле все строки имеют одинаковое число столбцов?
← →
Владислав (2003-09-19 16:32) [15]Блин, код плохо форматируется, читать плохо...
> SergeyM (19.09.03 16:23) [13]
Может где не прав извеняйте.
Да брось ты...
Поставь на время отладки галку Range checking. Если проблема в массивах, поймаешь ее.
← →
SergeyM (2003-09-19 16:38) [16]Сообщение a[i,j]:=a[i,j]; написано чтобы ниче не делал
В функцию задаются параметры m,n - это индексы исходного массива, а к - это размерность исходного массива.
Вообще без динамических массивов все работало только выдавло странной пропорции массив вот я и решил попробовать динамический , а что вышло уже говорил.
← →
MBo (2003-09-19 16:39) [17]SetLength(Mat4x4,4,4);
SetLength(Mat3x3,3,3);
нумерация с нуля!
← →
SergeyM (2003-09-19 16:41) [18]SetLength(Mat4x4,4,4) - а это чего?
← →
Sandman25 (2003-09-19 16:42) [19]>Сообщение a[i,j]:=a[i,j]; написано чтобы ниче не делал
Не понял. Поставьте if not (условие) then.
← →
SergeyM (2003-09-19 16:44) [20]Sandman25 © > точно чето я и забыл совсем.
Извените я ухожу получать знания в институт ежели че то через 4 часа поговорим.
← →
Думкин (2003-09-19 19:02) [21]
> [20] SergeyM (19.09.03 16:44)
Вот и получай, а не смущай народ.
"Народ, у меня рожа красная - А пить меньше пробовал? - а что помогает?"
← →
Anatoly Podgoretsky (2003-09-19 22:40) [22]SetLength(Ar,Y,X)
Nikolay M. © (19.09.03 15:49) [4]
Ой как ты неправ, это объявление нерегулярного (неравномерного) массива.
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2003.10.02;
Скачать: [xml.tar.bz2];
Память: 0.49 MB
Время: 0.016 c