Python

Действия над матрицами

1)
Расположить строки матрицы А(n m) в порядке убывания модулей сумм элементов строк.
2)
Рассматривая матрицу A(n n) как составленную из четырех
квадратов, переставить в ней друг с другом квадраты по кругу.
Здравствуйте, Кирилл!
Вот программа для Вас. 1-е задание.
 n = 5 
m = 4

# Создаю матрицу: список, состоящий из списков
A = [
[0, 7, -2,-4],
[2, 0, -5, 1],
[5, 0, 2, 2],
[4, 3, 11, 0],
[2, 5, -2, 0]]

# Я вывожу тут матрицу на экран
print("A:")
for y in range(n):
for x in range(m):
print("\t",A[y][x], end="") # \t - это вставление знака табуляции
print()

# Нахожу тут я суммы по строкам. Храню эти суммы - в массиве S
S = []
for y in range(n):
S = S + [0] # Добавляю в массив сумм новый элемент и обнуляю его
# Тут я вычисляю сумму для строки y
for x in range(m):
S[y] = S[y] + abs(A[y][x]) # abs(a) возвращает модуль числа a

# Это я печатаю массив сумм
print("S:")
for y in range(n):
print(S[y], " ", end="")

# Далее я сортирую массив сумм и заодно строки массива A
# Применяю метод перебора
for y1 in range(n):
for y2 in range(y1+1,n):
if S[y2]>S[y1]:
# Меняю местами значения, стоящие на местах y1 y2 в массиве S
b = S[y2]
S[y2] = S[y1]
S[y1] = b
# Меняю местами строки, стоящие на местах y1 y2 в матрице A
lst = A[y2]
A[y2] = A[y1]
A[y1] = lst

# Вывожу отсортированный массив сумм
print("\nS:")
for y in range(n):
print(S[y], " ", end="")

# А тут я вывожу на экран матрицу с отсортированными строками
print("\nA:")
for y in range(n):
for x in range(m):
print("\t",A[y][x], end="") # со знаком табуляции
print()
МГ
Максим Гилёв
11 615
Лучший ответ
Максим Гилёв А вот решение второго задания:
 n = 6 
m = 6

# Создаю матрицу: список, состоящий из списков
A = [
[0, 7, -2,-4, 12, 5],
[2, 0, -5, 1, 88, 8],
[5, 0, 2, 2, 7, -5],
[4, 3, 11, 0, 14, 22],
[2, 5, -2, 0, -2, 17],
[5,22, -2, 0, 11, 99]]

# Я вывожу тут матрицу на экран
print("A:")
for y in range(n):
for x in range(m):
print("\t",A[y][x], end="") # \t - это вставление знака табуляции
print()

... ниже продолжение
Что то у меня смутное подозрение что не хватает куска задания, либо условия ввода элементов, либо элементов изначально, в том плане что пользователь должен ввести n, m и элементы в количестве n*m или как?
ПО
Промтех Ооо
3 444