Русский

Справочник MQL4 Операции с массивами ArrayCompare

ArrayCompare

Возвращает результат сравнения двух массивов одинакового типа. Может использоваться для сравнения массивов простых типов или пользовательских структур, не имеющих сложных объектов - то есть не содержащих строк, динамических массивов, классов или других структур содержащих сложные объекты.

int  ArrayCompare(
   const void&  array1[],            // первый массив
   const void&  array2[],            // второй массив
   int          start1=0,            // начальное смещение в первом массиве
   int          start2=0,            // начальное смещение во втором массиве
   int          count=WHOLE_ARRAY    // количество элементов для сравнения
   );

Параметры

array1[]

[in]  Первый массив.

array2[]

[in]  Второй массив.

start1=0

[in]  Начальный индекс элемента в первом массиве, с которого начнется сравнение. По умолчанию стартовый индекс - 0.

start2=0

[in]  Начальный индекс элемента во втором массиве, с которого начнется сравнение. По умолчанию стартовый индекс - 0.

count=WHOLE_ARRAY

[in]  Количество элементов, которые нужно сравнить. По умолчанию в сравнении участвуют все элементы обоих массивов (count=WHOLE_ARRAY).

Возвращаемое значение

  • -1, если array1[] меньше array2[]
  • 0, если array1[] и array2[] равны
  • 1, если array1[] больше array2[]
  • -2, при возникновении ошибки из-за несовместимости типов сравниваемых массивов, или при значениях start1, start2 или count, приводящих к выходу за пределы массива.

Примечание

При разных размерах сравниваемых массивов и с указанным значением count=WHOLE_ARRAY для случая, когда один массив является точным подмножеством другого, функция не вернёт 0 (массивы не будут считаться равными). В этом случае будет возвращен результат сравнения размеров этих массивов: -1, если размер array1[] меньше размера  array2[] или 1 в противном случае.