Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2007.05.20;
Скачать: CL | DM;

Вниз

Динамический двумерный массив   Найти похожие ветки 

 
DelphiLexx ©   (2007-05-02 10:31) [0]

Как добавлять динамически элементы к двумерному массиву скажкем размерностью 3x8. Для одномерного я делал так:

type TDynArrOfInt = array of Integer;
var
 ArrOfInt: TDynArrOfInt;
 i: integer;
begin
 SetLength(ArrOfInt, 3);// Длина массива = 3

 // Вот так я добавляю элемент к массиву если длина его неизвестна
 SetLength(ArrOfInt, Length(ArrOfInt) + 1);
 ArrOfInt[Length(ArrOfInt) - 1] := 5;
end;


 
ЮЮ ©   (2007-05-02 10:42) [1]

type
 TDynMatrixOfInt = array of array of Integer;
Или
 TDynMatrixOfInt = array of TDynArrOfInt;

Аналогично, вместо ArrOfInt используя ArrOfInt[i], т.к. array of array of Integer это одномерный динамический массив одномерных динамических массивов


 
DelphiLexx ©   (2007-05-02 10:48) [2]


> Аналогично, вместо ArrOfInt используя ArrOfInt[i], т.к.
> array of array of Integer это одномерный динамический массив
> одномерных динамических массивов

Примером бы не мог отобразить


 
ЮЮ ©   (2007-05-02 11:02) [3]

> Как добавлять динамически элементы к двумерному массиву
> скажкем размерностью 3x8.

Если сделать 4x8, то
SetLength(ArrOfInt, Length(ArrOfInt) + 1); //увеличили длину в первом измерении на 1
SetLength(ArrOfInt[High[ArrOfInt]], 8);    //установили длину 8 для последнего элемента массива

P.S. длины каждого элемента массива в первом измерении в принципе независимы и говорить  3x8 не совсем корректно., т.е. это может быыти и
(
 (1,2,3,4,5,6,7,8),
 nil,
 (1,2,3)
)


 
{RASkov} ©   (2007-05-02 17:09) [4]

> [2] DelphiLexx ©   (02.05.07 10:48)

var Arr: array of array of Integer;
......
SetLength(Arr, 3, 8);



Страницы: 1 вся ветка

Текущий архив: 2007.05.20;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.05 c
2-1177501570
iviom
2007-04-25 15:46
2007.05.20
Написать свой компонент, состоящий из стандартных


3-1172843106
kilya
2007-03-02 16:45
2007.05.20
security.fdb . модификация


4-1165922919
lock95
2006-12-12 14:28
2007.05.20
CompactFlash требуется считать по секторно


2-1177530314
Aibolit
2007-04-25 23:45
2007.05.20
как вычесть две даты и получить разницу в днях


2-1178196382
pavel_guzhanov
2007-05-03 16:46
2007.05.20
зависание при вставке записи в базу