Здравствуйте, гость ( Вход | Регистрация )

 
Ответить в эту темуОткрыть новую тему
> Сравнение массивов, Сравнение массивов
handness
сообщение 15.8.2021, 15:45
Сообщение #1


**

Neophyte
Сообщений: 27
Регистрация: 25.7.2021
Группа: Пользователи
Наличность: 0
Пользователь №: 20.026
Возраст: 28



Имеем массив, в который добавляется 32 значения
Код
--lua
local num = findcolor ("313, 369, 387, 396, 6, 6, (0-0xffffff) %arr 2")

log "1"
for i=1, num do
    log(arr[i][3])
end


Вывод в лог:
Код
1
789516
789516
789516
789516
789516
789516
789516
789516
789516
789516
1586986
789516
4179597
789516
1520423
789516
789516
3182439
4179597
989204
3780477
789516
4179597
789516
789516
789516
2118462
789516
4179597
1121816
4179597
789516


А также имеем другой массив, стационарный, не меняющийся, содержащий 32 значения
Код
--lua
local arr = {}
arr [1] = 789516
arr [2] = 789516
arr [3] = 789516
arr [4] = 789516
arr [5] = 789516
arr [6] = 789516
arr [7] = 789516
arr [8] = 789516
arr [9] = 789516
arr [10] = 789516
arr [11] = 1586986
arr [12] = 789516
arr [13] = 789516
arr [14] = 789516
arr [15] = 789516
arr [16] = 789516
arr [17] = 789516
arr [18] = 3182439
arr [19] = 4179597
arr [20] = 989204
arr [21] = 3581815
arr [22] = 1786161
arr [23] = 789516
arr [24] = 789516
arr [25] = 789516
arr [26] = 789516
arr [27] = 2118462
arr [28] = 789516
arr [29] = 4179340
arr [30] = 789516
arr [31] = 4179597
arr [32] = 789516


Каким образом можно сравнить эти 2 массива между собой? Нужно чтоб все 32 значения попарно были идентичны. Первое == первому, второе == второму и тд...
Желательно сделать это с минимальной потерей времени.
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
cirus
сообщение 15.8.2021, 15:55
Сообщение #2


**********

Elder
Сообщений: 3.480
Регистрация: 18.8.2014
Группа: Пользователи
Наличность: 26702
Пользователь №: 16.971
Возраст: 29



Цитата
Каким образом можно сравнить эти 2 массива между собой?

Принцип такой:
Код
--lua
log 'clear' log 'mode compact'

local arr1 = {789516, 789516, 1586986, 789516}   -- первый массив
local arr2 = {789516, 789516, 123, 789516}       -- второй массив

local x = 0
for i=1, #arr1 do
    if arr1[i] == arr2[i] then
        x = x + 1
    end
end

log ("Совпало элементов: " .. tostring(x))
if x == #arr1 then
    log ("Массивы одинаковые")
else
    log ("Массивы разные")
end
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения

Ответить в эту темуОткрыть новую тему
2 чел. читают эту тему (гостей: 2, скрытых пользователей: 0)
Пользователей: 0

 

- Текстовая версия | Версия для КПК Сейчас: 19.4.2024, 18:07
Designed by Nickostyle