Квадратные матрицы

Квадратная матрица

Пусть матрица А содержит N строк и столько же столбцов. Такие матрицы называют квадратными. У квадратных матриц можно выделить главную и побочную диагонали.
Главная диагональ - диагональ, которая идет с левого верхнего угла в правый нижний
Побочная диагональ - идет с правого верхнего угла в левый нижний

Тогда для перебора всех элементов, стоящих на главной диагонали достаточно одного цикла:

псевдокод:
для i от 0 до N-1
     работаем с A[i][i]
Таким же циклом можно перебрать элементы побочной диагонали (для элементов стоящих на побочной диагонали сумма индексов строки и столбца постоянна и равна N-1)
псевдокод:
для i от 0 до N-1
     работаем с A[i][N-1-i]
Чтобы обработать все элементы, расположенные на главной диагонали и под ней, нужен вложенный цикл:
- номер строки меняется от 0 до N-1
- номер столбца от 0 до i
псевдокод:
для i от 0 до N-1
    для j от 0 до i
     работаем с A[i][j]