Модуль: Квадратные матрицы


Задача

1 /7


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

Теория Нажмите, чтобы прочитать/скрыть

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

Пусть матрица А содержит 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]

Задача

Дано число n. Создайте двумерный массив размером nхn и заполните его по следующему правилу. На главной диагонали должны быть записаны числа 0. На двух диагоналях, прилегающих к главной, числа 1. На следующих двух диагоналях числа 2 и т.д.

Входные данные
На вход подается одно единственное число n (n<=10).

Выходные данные
Выведите на экран заполненную матрицу.
 
Пример
Входные данные Выходные данные
1 5 0 1 2 3 4
1 0 1 2 3
2 1 0 1 2
3 2 1 0 1
4 3 2 1 0