![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Динамический двумерный массив
DelphiLexx © (2007-05-02 10:31:00)Как добавлять динамически элементы к двумерному массиву скажкем размерностью 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;
{RASkov} (2007-05-02 17:09:00) [1]> [2] DelphiLexx © (02.05.07 10:48)
var Arr: array of array of Integer;
......
SetLength(Arr, 3, 8);
ЮЮ (2007-05-02 11:02:00) [2]> Как добавлять динамически элементы к двумерному массиву
> скажкем размерностью 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)
)
DelphiLexx (2007-05-02 10:48:00) [3]
> Аналогично, вместо ArrOfInt используя ArrOfInt[i], т.к.
> array of array of Integer это одномерный динамический массив
> одномерных динамических массивов
Примером бы не мог отобразить
ЮЮ (2007-05-02 10:42:00) [4]type
TDynMatrixOfInt = array of array of Integer;
Или
TDynMatrixOfInt = array of TDynArrOfInt;
Аналогично, вместо ArrOfInt используя ArrOfInt[i], т.к. array of array of Integer это одномерный динамический массив одномерных динамических массивов