# Сложность А, задание 5
# Сортировка побочной диагонали квадратной матрицы по возрастанию методом вставок
import random
def print_matrix(matrix):
for row in matrix:
print(" ".join(f"{x:4d}" for x in row))
def insertion_sort(arr):
for i in range(1, len(arr)):
key = arr[i]
j = i - 1
while j >= 0 and arr[j] > key:
arr[j + 1] = arr[j]
j -= 1
arr[j + 1] = key
m = 5
n = 5
matrix = []
for i in range(m):
matrix.append([])
for j in range(n):
matrix[i].append(random.randint(-50, 50))
print("Исходная матрица:")
print_matrix(matrix)
# Побочная диагональ: элементы matrix[i][n - 1 - i]
diagonal = [matrix[i][n - 1 - i] for i in range(n)]
print("\nПобочная диагональ до сортировки:", diagonal)
insertion_sort(diagonal)
# Записываем отсортированные значения обратно (сверху вниз)
for i in range(n):
matrix[i][n - 1 - i] = diagonal[i]
print("Побочная диагональ после сортировки:", diagonal)
print("\nМатрица после сортировки:")
print_matrix(matrix)