Как напечатать все диагональные элементы 2d-вектора в C++
I'm looking for a C++ way using vector to get all the diagonals of a (square) matrix, represented as a 2d vector. matrix = [ [1,2,3,4], [5,1,2,3], [9,5,1,2]] But I have trouble coming up with a way to generate all the diagonals. The output I'm looking for is: "[9]", "[5, 5]", "[1, 1, 1]", "[2, 2, 2]", "[3, 3]", "[4]".
Что я уже пробовал:
Я пробовал, но могу печатать только элементы главной диагонали. Не мог бы кто-нибудь показать, как печатать все диагональные элементы.
John R. Shaw
Интересный. Но не размещайте здесь вопросы о домашней работе. Возьмите карандаш и бумагу и разберитесь.
-ИЛИ-
Я мог бы сделать слепую складку и посмотреть, смогу ли я это сделать.
Richard MacCutchan
Вам просто нужно начать с каждой соответствующей точки в Матрице и пересечь диагональ с этой точки. Итак, начиная с столбца 1, идите вниз по строкам и следуйте за каждым из них. Затем следуйте за каждым дайгоналом из столбца 2, столбца 3 ...