import random
# Ввод размеров матрицы
N = int(input('Введите количество строк (N): '))
M = int(input('Введите количество столбцов (M): '))
# Генерация матрицы с вещественными числами от -5 до 5, округленными до 2 знаков
lst = [[round(random.uniform(-5, 5), 2) for _ in range(M)] for _ in range(N)]
# Вывод матрицы
print("Матрица:")
for row in lst:
print(row)
# Инициализация переменных для минимального положительного элемента
min_positive = None
ki = kj = -1
# Поиск минимального положительного элемента
for i in range(N):
for j in range(M):
if lst[i][j] > 0:
if (min_positive is None) or (lst[i][j] < min_positive):
min_positive = lst[i][j]
ki, kj = i, j
# Инициализация переменных для первого положительного элемента
first_positive = None
mi = mj = -1
found = False
# Поиск первого положительного элемента (по порядку строки и столбца)
for i in range(N):
for j in range(M):
if lst[i][j] > 0:
first_positive = lst[i][j]
mi, mj = i, j
found = True
break
if found:
break
# Проверка наличия положительных элементов
if min_positive is None:
print("В матрице нет положительных элементов для нахождения минимального положительного.")
elif not found:
print("В матрице нет положительных элементов для нахождения первого положительного.")
else:
# Вычисление S
S = (ki + kj) / (mi + mj)
print(f"Минимальный положительный элемент: {min_positive} с индексами (ki={ki}, kj={kj})")
print(f"Первый положительный элемент: {first_positive} с индексами (mi={mi}, mj={mj})")
print(f"Значение S = (ki + kj) / (mi + mj) = ({ki} + {kj}) / ({mi} + {mj}) = {S}")
Начальный код:
N =int(input('N:'))
M =int(input('M:'))
lst = [[round(r.uniform(-5, 5), 2) for _ in range(N)] for _ in range(M)]
print(*lst, sep="\n")