Скачать MetaTrader 5

ArrayCompare

Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий
Alexey Viktorov
11343
Alexey Viktorov  

ArrayCompare()

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

В общем-то другие типы массивов пока не интересуют.

Вопрос:

Ну вот сравнили 2 массива, в одном на 1 запись больше чем в другом, остальные идентичны...

Как попроще вытащить эту запись которая и составляет отличие массивов??? Как определить её индекс???

Можно конечно и в цикле перебирать, но нет гарантии что индексация совпадёт. А если вложенным циклом, то слишком долго...


Vitalie Postolache
12427
Vitalie Postolache  
ArrayCompare не пойдётъ, что-то своё надо писать. Вложенных циклов не надо, если в массивах одинаковое количество элементов, то можно просто перебирать их в одном цикле и сравнивать попарно элементы, на различающейся паре - возвращаем индекс.
Alexey Viktorov
11343
Alexey Viktorov  
В том-то и дело что предполагается не равное количество элементов. Как минимум на 1 будет разница. А остальные элементы равны.
Vitalie Postolache
12427
Vitalie Postolache  
AlexeyVik:
В том-то и дело что предполагается не равное количество элементов. Как минимум на 1 будет разница. А остальные элементы равны.

То есть имеем A[x], B[y] и x != y?

Ну тогда нужно сначала уравнять количество элементов меньшего массива со вторым (добить в меньший массив числа которые заведомо не входят в диапазон рассматриваемых значений), то есть добиться равенства х=у, а потом сравнивать элементы массивов попарно.

Alexey Viktorov
11343
Alexey Viktorov  

Ну если ничего лучшего не подскажут, буду изгаляться как нибудь. Или что-то другое придумывать.

Nazariy Stapyak
1750
Nazariy Stapyak  
Это называется разница массивов (при данных условиях простая разница. есть еще симметричная). В сети куча инфы и готовых алгоритмов.
Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий