Как мне узнать содержимое моего двумерного массива в MQL4?

У меня есть массив s[7][7], я прочитал в него ReadFileString() файл CSV, файл CSV содержал набор чисел.

Я ищу числа больше 85, хранящиеся в двумерном массиве, а также столбец и строку, к которым принадлежит число/элемент.


person Dave Craig    schedule 07.10.2016    source источник


Ответы (1)


Чтобы получить содержимое массива, просто выполните цикл:

int value = 85;
for(int i=0; i<ArrayRange(s,0); i++){
   for(int j=0; j<ArrayRange(s,1); j++){
       if (StrToInteger(s[i][j])>value){
          // here you have i and j indexes of array
       }
   }
}

Конечно, вы можете использовать int array[][] вместо string для более быстрой работы, используйте для этого StrToInteger() с ReadFileString().

person Daniel Kniaz    schedule 07.10.2016
comment
Большое спасибо! - person Dave Craig; 08.10.2016
comment
Если это поможет - выберите правильный ответ для других, у которых может быть такой же вопрос! - person Daniel Kniaz; 08.10.2016
comment
На самом деле, я попробовал код, который выводит два элемента вместо одного значения 85! - person Dave Craig; 09.10.2016
comment
Покажите, что у вас есть и как вы это получили. Если у вас есть два (или более) элемента со значением 85 - вам нужно решить, подходит ли какой-либо из них или вам нужны все (т.е. для дальнейшего исследования). Если достаточно любого значения выше 85 - break; завершает ближайший for - цикл, return немедленно выходит из функции. - person Daniel Kniaz; 09.10.2016