Всем привет! Вопрос к знающим, как в цикле заполнить двумерный массив? Пытался это сделать через ArrayFill(), но как вы уже поняли это не получилось. С одномерными массивами более или менее все понятно, а с двумерными нет. Подскажите или киньте ссылку, где почитать (справку читал!)
- Как передать второе измерение двумерного массива по ссылке в функцию?
- Структура массивов MQL4 и в VC++ различается?
- Сортировка двухмерного массива.
#property strict #define MatrixA 10 #define MatrixB 10 //+------------------------------------------------------------------+ void OnStart() { int arr[MatrixA][MatrixB]; ArrayFill(arr,0,MatrixA*MatrixB,31415); string s = ""; for(int i=0;i<MatrixA;i++) { s=""; for(int j=0;j<MatrixB;j++) { s+=IntegerToString(arr[i][j]) + " , "; } Print(s); } } //+------------------------------------------------------------------+
инициализация в цикле без ArrayFill :
#define MatrixA 10 #define MatrixB 10 //+------------------------------------------------------------------+ void OnStart() { int arr[MatrixA][MatrixB]; int i,j; for(i=0;i<MatrixA;i++) { for(j=0;j<MatrixB;j++) arr[i][j]=31415; } string s = ""; for(i=0;i<MatrixA;i++) { s=""; for(j=0;j<MatrixB;j++) { s+=IntegerToString(arr[i][j])+" , "; } Print(s); } } //+------------------------------------------------------------------+
вроде как ArrayInitialize() должно заполнять массив при инициализации в не зависимости от того сколькамерный это массив, обычно заполнение нужно чтоб забить весь массив например нулями или -1 или любым другим, удобным для дальнейшей работы, числом или строкой
Igor Makanu:
инициализация в цикле без ArrayFill :
Спасибо, буду пробовать.

Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь