Обойти матрицу "змейкой"

Добрый день!
Помогите, пожалуйста, заполнить одномерный массив элементами из матрицы в порядке следования стрелочек. Несложная задача, но что-то не выходит… :no_mouth:
6.19

Что именно? Что вышло?

Не понимаю, как организовать цикл, чтобы пройти по всей матрице. Что брать, как условие: можно через if, можно через while сделать, но что в этих случаях брать в качестве параметров?

Тут по диагоналям проходить надо, можно погуглить про главную/побочную диагональ для вдохновения.

Гугл предлагает так: window.edu.ru/resource/966/23966/files/Lesson__E10.pdf

Продвижение по любой диагонали естественно реализовать как цикл однотипных шагов. При этом для очередной диагонали, проходящей через соответствующие именно ей ячейки, не меняется некоторое соотношение индексов строки i и столбца j этих ячеек. Так, для левого рисунка неизменна сумма i+j=const, для правого – разность i-j=const. Эти константы называются инвариантами цикла. При написании программы их удобно использовать, поскольку во внешнем цикле нетрудно организовать перебор диагоналей, подбирая константу в соответствии с номером очередной диагонали.

1 Симпатия