@Ensiouel

Как мне найти координаты числа?

Как мне найти в какой колонке и столбце находиться, к примеру, число 4
array = {
		1,2,3,
		4,5,6,
		7,8,9
	}
  • Вопрос задан
  • 70 просмотров
Решения вопроса 1
dollar
@dollar Куратор тега Lua
Делай добро и бросай его в воду.
Очевидно, число 4 находится в первом столбце (x==1) и второй строке (y==2).
Это видно невооруженным глазом.
Программно это можно выяснить так:
array = {
    1,2,3,
    4,5,6,
    7,8,9
}

function getXY(num)
    local x,y,i=1,1,1
    while array[i] ~= num do
        i = i + 1
        x = x + 1
        if x > 3 then
            x = 1
            y = y + 1
        end
        if not array[i] then return end
    end
    return x,y
end

print(getXY(4)) --1,2
print(getXY(8)) --2,3
print(getXY(3)) --3,1

А если вам нужна обратная задача (по координатам искать число), то вот:
array = {
    1,2,3,
    4,5,6,
    7,8,9
}

function find(x,y)
    return array[(y-1)*3 + x]
end

print(find(1,2)) --4
print(find(2,3)) --8
print(find(3,1)) --3

Но всё же лучше пересмотреть способ хранения данных. Например, так:
array = {
    { 1,2,3 },
    { 4,5,6 },
    { 7,8,9 },
}
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы