Top.Mail.Ru
Ответы

Вариант 5 Дана целочисленная квадратная матрица. Определить: 1. Сумму элементов в тех столбцах, которые не содержа.....

Вариант 5
Дана целочисленная квадратная матрица. Определить:
1. Сумму элементов в тех столбцах, которые не содержат отрицательных
элементов.
2. Минимум среди сумм модулей элементов диагоналей, параллельных
побочной диагонали матрицы.

По дате
По рейтингу
Аватар пользователя
Просветленный

import numpy as np

def task(matrix):
# Часть 1
sum_columns = 0
for j in range(matrix.shape[1]):
if all(matrix[:, j] >= 0):
sum_columns += sum(matrix[:, j])
print(f"Сумма элементов в столбцах без отрицательных элементов: {sum_columns}")

# Часть 2
min_sum = float('inf')
for i in range(-matrix.shape[0]+1, matrix.shape[1]):
diagonal_sum = sum(abs(np.diag(matrix, i)))
if diagonal_sum < min_sum:
min_sum = diagonal_sum
print(f"Минимум среди сумм модулей элементов диагоналей: {min_sum}")

# Пример использования функции
matrix = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]])
task(matrix)
```

Этот код сначала импортирует библиотеку `numpy` для работы с матрицами. Затем определяется функция `task`, которая принимает матрицу в качестве аргумента и решает обе части задачи. В первой части кода вычисляется сумма элементов в столбцах без отрицательных элементов. Во второй части кода вычисляется минимум среди сумм модулей элементов диагоналей, параллельных побочной диагонали матрицы. В конце кода приведен пример использования функции `task` с матрицей `[[1, 2, 3], [4, 5, 6], [7, 8, 9]]`.