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

Вниз

array   Найти похожие ветки 

 
Still Swamp   (2003-05-27 14:30) [0]

Как содать n-мерный открытый (безразмерный) массив?


 
MBo ©   (2003-05-27 14:31) [1]

не открытый, а динамический
array of array of array of...


 
Skier ©   (2003-05-27 14:32) [2]

открытые массивы не создаются ! Они используются только при
передаче параметров.

raise Wrong Question Error


 
Palladin ©   (2003-05-27 14:52) [3]


type
TAOI=array of integer;

var
NDimArray:array of integer;

function _GetLevelSize(const ArrayMetrics:array of integer;Level:integer):integer;
var
i:integer;
begin
result:=1;
for i:=0 to Level-1 to result:=result*a[i];
end;

function _GetElementPos(const ArrayMetrics,ArrayIndexes:array of integer):integer;
var
i:integer;
begin
result:=0;
for i:=0 to high(ArratMetrics) do
result:=result+_GetLevelSize(ArrayMetrics,i+1)*ArrayIndexes[i];
end;

function SetArrayMetrics(var a:TAOI;const ArrayMetrics:array of integer):integer;
begin
result:=_GetLevelSize(ArrayMetrics,high(ArrayMetrics)+1);
SetLength(a,result);
end;

function GetElement(const XDArray,ArrayMetrics,ArrayIndexes:array of integer):integer;
begin
result:=XDArray[_GetElementPos(ArrayMetrics,ArrayIndexes)];
end;

procedure SetElement(var XDArray:TAOI;const ArrayMetrics,ArrayIndexes:array of integer;Value:integer);
begin
XDArray[_GetElementPos(ArrayMetrics,ArrayIndexes)]:=Value;
end;


ArrayMetrics - массив размерностей
ArrayIdexes - массив индексов нужного элемента


SetArrayMetrix(NDimArray,[2,2,2,4]);
SetElement(NDimArray,[2,2,2,4],[1,0,1,0],15);


писал тут... работу над ошибками делай сам... и тестируй тоже...
смысл мне кааца ясен...



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

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

Наверх




Память: 0.47 MB
Время: 0.02 c
1-26555
Jaxtor
2003-05-28 11:29
2003.06.09
Определение количества символов в TCaption


1-26549
Valentino
2003-05-28 10:47
2003.06.09
AdjustTokenPrivileges.


1-26517
MegaVolt
2003-05-29 15:05
2003.06.09
Когда нужно исспользовать SetLength для строк?


7-26818
mike-d
2003-04-05 15:30
2003.06.09
режим stand-by монитора


3-26372
DDDeN
2003-05-20 09:17
2003.06.09
Работе с базой без BDE