function rotate(t) --- Определим функцию для поворота таблицы
local result = {} -- Определим результирующую таблицу
for i = 1, #t do -- Начнем цикл по всем 'строкам' таблицы
for j = 1, #t[i] do -- Начнем цикл по всем элементам 'строки'
if #result < j then -- Если длина результирующей таблицы <
result[j] = {} -- текущего индекса - вставим в нее новую таблицу
end
result[j][#result[j] + 1] = t[i][j] -- Добавим новый элемент в текущую 'строку' результата
end
end
return result
end
function print_table(t) --- Просто функция для вывода результата
local rows = #t
for i = 1, rows do
local cells = #t[i]
for j = 1, cells do
io.write(t[i][j], ' ')
end
io.write('\n')
end
end
local before = { {1,2,3,3,3}, {4,5,6,6,6,6}, {7,8,9,9,9,9,9} } -- Ваша таблица
local after = rotate(before)
print_table(before)
print()
print()
print_table(after)
你只需要旋转桌子!
为此,我们反映
input[a][b]
了每个元素output[b][#output[b] + 1]
它看起来像这样:
结论: