Мне нужна помощь с циклом матрицы. Я знаю, как выполнить цикл по диагонали от первого элемента к последнему элементу, но я не могу понять, как сделать обратное.
Для выполнения цикла по диагонали от первого до последнего элемента я использую этот код:
for( int k = 0 ; k < dim * 2 ; k++ ) {
for( int j = 0 ; j <= k ; j++ ) {
int i = k - j;
if( i < dim && j < dim ) {
std::cout << array[i][j] << " ";
}
}
std::cout << "\n";
}
Если массив имеет вид:
1 2 3
4 5 6
7 8 9
Тогда вывод кода выше будет:
1
2 4
3 5 7
6 8
9
Как получить вывод ниже?
9 9
6 8 8 6
3 5 7 or 7 5 3 (it doesn't matter for purpose)
2 4 4 2
1 1