ArrayCompare

 

ArrayCompare()

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

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

Вопрос:

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

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

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


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

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

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

 

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

 
Это называется разница массивов (при данных условиях простая разница. есть еще симметричная). В сети куча инфы и готовых алгоритмов.
Причина обращения: