Скачать MetaTrader 5

Вопрос насчёт описания двумерных матриц

Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий
Forex Trader
114283
Forex Trader  
Я тут опять про матрицы спрашиваю. Нужно описать двумерную матрицу, размер которой задаётся какими-то вычислениями. double arr[m][n] нельзя. ArrayResize(arr,m) работает только по первому размеру. Как же мне второй размер приписать? Заранее спасибо.
Forex Trader
114283
Forex Trader  
1) Резервировать второй размер (и последующие) по максимально возможному числу элементов в нем - самый простой и малоэстетичный способ, к тому же неэкономно расходующий память, однако для не очень больших прямоугольных матриц вполне подходящий;
2) Представлять многомерные массивы в виде одномерных (именно в таком виде они хранятся в памяти машины) и вычислять индексы - сложный, довольно медленный, но зато самый гибкий способ, особенно если приходится работать с большими массивами с числом измерений больше 4-х и надо экономить память.
Forex Trader
114283
Forex Trader  
Этого я и боялся. Если не трудно, alexjou, не могли бы вы пояснить как представлять многомерные массивы в виде одномерных. Им нужно приписывать разные имена? Покажите пожалуйста на примере.
Forex Trader
114283
Forex Trader  
Вариант конструкций для двумерных массивов есть в "Как изменить размерность массива?" . Новые размерности можно добавить аналогично.
Кстати, вычислять индексы не такой уж и долгий процесс, по крайней мере для разумного числа измерений, а вот громоздкость кода должна расти стремительно.
Forex Trader
114283
Forex Trader  
Идею понял. Очень простая, но почему то сам не додумался.
Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий