Главная страница
    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.039 c
15-1169247208
Shumer
2007-01-20 01:53
2007.02.18
протокол ModBus


15-1169958407
Дмитрий Белькевич
2007-01-28 07:26
2007.02.18
Потестируйте, пожалуйста, программу, запуск программы как сервиса


15-1169032453
PZ
2007-01-17 14:14
2007.02.18
Призрак в актовом зале (?)


2-1170164743
Хеад
2007-01-30 16:45
2007.02.18
Помогите решить задачу на Turbo Pascal


2-1170158201
Long1
2007-01-30 14:56
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
Английский Французский Немецкий Итальянский Португальский Русский Испанский