Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Динамический двумерный массив


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 это одномерный динамический массив одномерных динамических массивов


Наверх

Титульная страница Поиск, карта сайта Написать письмо