Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2007.02.18;
Скачать: [xml.tar.bz2];

Вниз

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

 
Кевларвестов Семен   (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;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.47 MB
Время: 0.046 c
2-1170177129
Garacio
2007-01-30 20:12
2007.02.18
Поиск даты и слова в txt


10-1129694320
Ирина из Павлодара
2005-10-19 07:58
2007.02.18
CreateOleObject( Word.Application ) в Delphi


15-1170099278
vasIzmax
2007-01-29 22:34
2007.02.18
Ну, на конец-то...


15-1169798462
Некто.
2007-01-26 11:01
2007.02.18
Как отчистить


2-1170410072
Arm79
2007-02-02 12:54
2007.02.18
выделение памяти с ошибкой





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский