Как вычислить положение элемента массива в матрице на основании его индекса и размерности матрицы?
Доброй ночи.
Есть массив элементов (по факту - записи из базы), и есть количество элементов в строке - N. В цикле проходим по массиву, если текущий элемент (i) равен N, начинаем новую строку. В общем-то типичная картина для огромного числа сайтов.
Я хочу сделать возможность выводить элементы с другим порядком - не в строку, а в столбец, но при этом сохраняя html \ css структуру (флекс отпадает, таким образом). Например, если в построчном варианте второй элемент по факту имел индекс 2 (т.е. был на втором месте в строке), в постолбцовом он будет иметь индекс 5, и располагаться в начале второй строки (т.е. второй в первом столбце). Однако, к примеру, если у нас 10 элементов и N равен 4м, то 6й элемент так и останется по факту шестым, так что арифметически подгадать весьма проблематично.
Я пока что вижу только вариант преобразовать массив в матрицу, и затем повернуть ее на 90 градусов, а то и вовсе намудрить с вложенными циклами, но это слишком громоздко для такой простой задачи. Хочется красивое и элегантное решение, без вложенных циклов и лишних преобразований, просто на основе имеющихся данных.
Какой вариант вы бы использовали, возможно, есть специальные формулы \ алгоритмы для этого?.. Не обязательно готовый пример, можно статью с описанием возможного способа решения данной задачи.