Да, изячно, alexjou. Я даже и сам не ожидал, что все так просто. Вот только что означает
твое "Важно соблюдать один и тот же порядок следования размерностей
массива на протяжении всей программы" - я так и не понял. Соответствие-то
взаимно однозначное. Ну то есть по p индексы i, j и т.п. вроде как
однозначно восстанавливаются.
Ты прав. Я просто несколько коряво выразился. Имелось в виду
следующее: при вычислении индекса по правилу p = i + j * L + k * L * M
+ ... член без сомножителя (неважно, как он обозначен) должен всегда
соответствовать первому измерению <Dim(1)>, с одним сомножителем,
равным размерности первого измерения -- второму <Dim(2)>, с двумя
(размерности первого и второго измерений) -- третьему <Dim(3)>,
... , с (n-1) сомножителями <Dim(n-1)*Dim(n-2)*...*Dim(1)> -- n-му, т.е. последнему.
При этом, разумеется, порядок следования вложенных циклов значения
не имеет. Главное тут -- не запутаться. Примерно так же вычисляются
и указатели на подмассивы в случае, если несколько многомерных
массивов пакуются в один одномерный. К слову, именно такой способ
я употребляю уже много лет, и он меня еще ни разу не подводил.
Небольшие затраты на вычисление индексов и указателей с лихвой
окупаются большей вычислительной эффективностью алгоритма
в целом и рациональностью в распределении памяти. Разумеется,
все сказанное -- сугубое ИМХО.
Доброго времени суток!
Подскажите как можно установить новый размер для второго измерения
массива? По этой ссылке https://docs.mql4.com/ru/array/ArrayResize есть пример для первого. Спасибо.
Да, изячно, alexjou. Я даже и сам не ожидал, что все так просто. Вот только что означает твое "Важно соблюдать один и тот же порядок следования размерностей массива на протяжении всей программы" - я так и не понял. Соответствие-то взаимно однозначное. Ну то есть по p индексы i, j и т.п. вроде как однозначно восстанавливаются.
Доброго времени суток!
Подскажите как можно установить новый размер для второго измерения массива? По этой ссылке https://docs.mql4.com/ru/array/ArrayResize есть пример для первого. Спасибо.
А если нужно объявить массив размер второго измерения у которого ращитывается? Что то вроде этого:
Это можно как то реализовать?