Вопрос задан 29.07.2026 в 22:15. Предмет Информатика. Спрашивает Никулина Елизавета.

PYTHON. Программа, которая находит максимальный элемент матрицы и удаляет из матрицы строку и столбец, на которых расположен этот элемент.

Перейти к ответам

Ответы на вопрос

Отвечает Головко Ульяна.

Ниже приведена программа на Python, которая находит максимальный элемент матрицы, определяет строку и столбец, в которых он расположен, а затем удаляет эту строку и этот столбец.

Python
# Ввод количества строк и столбцов
n, m = map(int, input("Введите количество строк и столбцов: ").split())

# Ввод матрицы matrix = []

print("Введите элементы матрицы:") for _ in range(n): row = list(map(int, input().split())) matrix.append(row)

# Предполагаем, что первый элемент матрицы максимальный max_element = matrix[0][0] max_row = 0 max_column = 0

# Поиск максимального элемента и его координат for i in range(n): for j in range(m): if matrix[i][j] > max_element: max_element = matrix[i][j] max_row = i max_column = j

print("Максимальный элемент:", max_element) print("Номер строки:", max_row + 1) print("Номер столбца:", max_column + 1)

# Удаление строки, содержащей максимальный элемент del matrix[max_row]

# Удаление соответствующего столбца из оставшихся строк for row in matrix: del row[max_column]

# Вывод полученной матрицы print("Матрица после удаления строки и столбца:")

for row in matrix: print(*row)

Например, для матрицы:

1  2  3
4  9  6
7  8  5

максимальным элементом является число 9. Оно находится во второй строке и во втором столбце. После удаления второй строки и второго столбца получится:

1 3
7 5

Принцип работы программы:

  1. Сначала вводятся размеры матрицы — количество строк n и столбцов m.

  2. Затем матрица считывается построчно.

  3. Переменные max_row и max_column хранят индексы строки и столбца максимального элемента.

  4. Двумя вложенными циклами перебираются все элементы матрицы.

  5. Строка удаляется командой:

Python
del matrix[max_row]
  1. После этого из каждой оставшейся строки удаляется элемент с индексом max_column:

Python
for row in matrix:
    del row[max_column]

Индексы в Python начинаются с нуля, поэтому при выводе номера строки и столбца к индексам прибавляется единица.

Более компактный вариант программы:

Python
n, m = map(int, input().split())
matrix = [list(map(int, input().split())) for _ in range(n)]

max_row = 0 max_column = 0

for i in range(n): for j in range(m): if matrix[i][j] > matrix[max_row][max_column]: max_row = i max_column = j

result = [ [matrix[i][j] for j in range(m) if j != max_column] for i in range(n) if i != max_row ]

for row in result: print(*row)

Во втором варианте исходная матрица не изменяется. Вместо удаления элементов создаётся новая матрица, в которую не включаются строка max_row и столбец max_column.

Если максимальное значение встречается в матрице несколько раз, программа удалит строку и столбец, соответствующие его первому найденному вхождению.

Похожие вопросы

Топ вопросов за вчера в категории Информатика

Последние заданные вопросы в категории Информатика

Задать вопрос