Добрый день!
Помогите, пожалуйста, заполнить одномерный массив элементами из матрицы в порядке следования стрелочек. Несложная задача, но что-то не выходит…
Что именно? Что вышло?
Не понимаю, как организовать цикл, чтобы пройти по всей матрице. Что брать, как условие: можно через if, можно через while сделать, но что в этих случаях брать в качестве параметров?
Тут по диагоналям проходить надо, можно погуглить про главную/побочную диагональ для вдохновения.
Гугл предлагает так: window.edu.ru/resource/966/23966/files/Lesson__E10.pdf
Продвижение по любой диагонали естественно реализовать как цикл однотипных шагов. При этом для очередной диагонали, проходящей через соответствующие именно ей ячейки, не меняется некоторое соотношение индексов строки i и столбца j этих ячеек. Так, для левого рисунка неизменна сумма i+j=const, для правого – разность i-j=const. Эти константы называются инвариантами цикла. При написании программы их удобно использовать, поскольку во внешнем цикле нетрудно организовать перебор диагоналей, подбирая константу в соответствии с номером очередной диагонали.