Помогите срочно решить задачу: Сформируйте вложенную последовательность К [8,8] по правилу: Кi.j = -15 + 30 * г
Сформируйте вложенную последовательность К [8,8] по правилу: Кi.j = -15 + 30 * г, где г - случайное число из отрезка [0,1]. Получите и выведите последовательность L [7,7], полученную путем удаления из последовательности К строки и столбца, на пересечении которых находится наибольший по модулю элемент.
По дате
По рейтингу
Здравствуйте!
Вот программа для Вас:
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657
from random import randint
# Создаю и заполняю матрицу K
K = []
for y in range(8):
row = []
for x in range(8):
row += [-15+30*randint(0,1)]
K.append(row)
# Вывожу матрицу K на экран
print("Матрица K:")
for y in range(8):
for x in range(8):
print(K[y][x],end="\t") # Указывая end="\t" я заменяю перевод на новую
# строку выводом отступа
print()
# Копирую матрицу K в матрицу L
L = []
for y in range(8):
L.append([])
for x in range(8):
L[y].append(K[y][x])
# Ищу максимальное по модулю число
maximum = L[0][0]
for y in range(8):
for x in range(8):
if abs(L[y][x])>maximum:
maximum = abs(L[y][x])
# Ищу координаты максимального по модулю числа
f_max_finded = False # Тут я храню признак, что я нашёл максимальное по модулю число
for y in range(8):
for x in range(8):
if abs(L[y][x]) == maximum:
max_y = y
max_x = x
f_max_finded = True
break
if f_max_finded:
break
# Удаляю ряд с максимальным по модулю числом
del L[max_y]
# Удаляю колонку с максимальным по модулю числом
for y in range(7):
del L[y][max_x]
# Вывожу матрицу L на экран
print("Матрица L:")
for y in range(7):
for x in range(7):
print(L[y][x],end="\t")
print()
Видео по теме