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

Вниз

Получить эл-т многмоерного массива не зная его размерность   Найти похожие ветки 

 
Кевларвестов Семен   (2007-02-01 15:04) [0]

Добрый день!
Вот такая вот задача есть вариантный массив AResFun: variant;
Есть массив целых чисел AIntArr array of integer в котором указаны индексы нужного элемента.

Есть ли какая нибудь функция чтоб можно было б написать что то типа AResFun[AIntArr] и, собственно, получить нужный элемент? Так как размерность массива AResFun заранее неизвестна.


 
Elen ©   (2007-02-01 15:08) [1]


>  Так как размерность массива AResFun заранее неизвестна

High(AResFun); даст размерность


 
Кевларвестов Семен   (2007-02-01 15:22) [2]

нет, ну дать то она ее даст, но как вытянуть элемент?

Я знаю только один способ: AResFun[AIntArr[0],...AIntArr[n]].

И это бы сработало, но к сожалению кто ее знает - какая n будет.

Вот собственно и вопрос можно ли как-то эти индексы вбивать автоматом?Причем, неизвестно сколько их там штук будет.


 
Elen ©   (2007-02-01 15:29) [3]


>  кто ее знает - какая n будет.

for i:=low(массив) to high(массив) do Врите(массив[i]); Сколько бы не было элементов она пройдет их всех


 
Jeer ©   (2007-02-01 16:06) [4]


> Elen ©   (01.02.07 15:08) [1]


> High(AResFun); даст размерность


Опять, блин, бабсы со своей "бабской" логикой.

С учетом, что Вы do Врите( - размерность масива дает Length().


 
Vlad Oshin ©   (2007-02-01 16:54) [5]

function GivEl(AResFun: variant; ar:array of integer):variant;
var
siz1:longint;
i:integer;
t:variant;
begin
siz1:=length(ar);
for i:=0 to siz1-1 do  begin
             t:=AResFun[ar[i]];
             AResFun:=t;
                        end;
result:=t;
end;


 
Elen ©   (2007-02-01 17:05) [6]


> С учетом, что Вы do Врите( - размерность масива дает Length().


C учетом что массив скорее всего начинаться с 0, значит High и Length дадут одинаковые значения


 
Anatoly Podgoretsky ©   (2007-02-01 19:45) [7]

> Elen  (01.02.2007 15:08:01)  [1]

High(AResFun); даст не размерность, а верхнею его границу. Length даст размерность, от которой правда толку мало.


 
Anatoly Podgoretsky ©   (2007-02-01 19:47) [8]

> Elen  (01.02.2007 17:05:06)  [6]

Это предположение, вероятно далекое от истины, кроме того в вопросе речь о многомерных массивах, к тому же неисветного типа и даже неизвестно динамических или статических.
Но мне не нравится постановка задачи у автора, оторваные от массива индексы, верный путь в могилу и очень мучительный.


 
Кевларвестов Семен   (2007-02-01 20:02) [9]

не надо меня в могилу. Там сыро и червяки.
А на самом деле, как обычно, нужно справку читать - ибо есть функция VarArrayGet от которой становится легко и хорошо.


 
Zeqfreed ©   (2007-02-01 21:17) [10]

> Jeer ©   (01.02.07 16:06) [4]

> Опять, блин, бабсы со своей "бабской" логикой.

Настоящие мужчины не ошибаются, ага?


 
Anatoly Podgoretsky ©   (2007-02-01 22:02) [11]

Его надо в "бабский" коллектив, как меня, тогда поймет логику.



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

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

Наверх




Память: 0.49 MB
Время: 0.041 c
3-1164715445
AndyTh
2006-11-28 15:04
2007.02.18
Данные в Excel


2-1169985617
Nanos
2007-01-28 15:00
2007.02.18
Как сохранить...?


15-1169933287
PHPdeveloper
2007-01-28 00:28
2007.02.18
бесплатный хостинг


2-1169866712
apic
2007-01-27 05:58
2007.02.18
Удаленное обнавление


15-1169853003
eRoR_rrr
2007-01-27 02:10
2007.02.18
mIRC скрипт в Delphi код