Вопрос задан 27.01.2025 в 21:44. Предмет Информатика. Спрашивает Закирова Арина.

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

Входные данные

В первой строке записаны через пробел размеры матрицы: количество строк N и количество столбцов M ( 1 ≤ N , M ≤ 100 ). В следующих N строках записаны строки матрицы, в каждой – по M натуральных чисел, разделённых пробелами.

Выходные данные

В первой строке программа должна вывести индексы минимального элемента (строку и столбец), а затем – его значение. Нумерация строк и столбцов начинается с единицы. Все числа разделены пробелами. Во второй строке выводится информация о максимальном элементе в том же формате.

Примеры

входные данные

4 5
1 3 2 54 24
75 12 3 46 9
13 26 56 9 12
14 90 97 6 34

выходные данные

1 1 1
4 3 97

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

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

Отвечает Смирнов Александр.

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

Шаги решения:

  1. Считываем размеры матрицы NN и MM.
  2. Считываем саму матрицу.
  3. Инициализируем переменные для хранения минимального и максимального значений и их индексов.
  4. Проходим по каждому элементу матрицы:
    • Если текущий элемент меньше текущего минимального значения, обновляем минимальное значение и его индексы.
    • Если текущий элемент больше текущего максимального значения, обновляем максимальное значение и его индексы.
  5. Выводим индексы и значения минимального и максимального элементов.

Пример реализации на Python

python
# Считываем размеры матрицы N, M = map(int, input().split())

# Инициализация матрицы matrix = []

# Считываем матрицу for _ in range(N): row = list(map(int, input().split())) matrix.append(row)

# Инициализация минимального и максимального значений и их индексов min_value = float('inf') max_value = float('-inf') min_row, min_col = -1, -1 max_row, max_col = -1, -1

# Проходим по матрице for i in range(N): for j in range(M): # Проверка на минимальный элемент if matrix[i][j] < min_value: min_value = matrix[i][j] min_row, min_col = i + 1, j + 1 # Нумерация с единицы # Проверка на максимальный элемент if matrix[i][j] > max_value: max_value = matrix[i][j] max_row, max_col = i + 1, j + 1 # Нумерация с единицы

# Вывод результата print(min_row, min_col, min_value) print(max_row, max_col, max_value)

Пояснение работы программы:

  • Считывание матрицы: Мы сначала читаем размеры матрицы NN и MM, а затем каждую строку матрицы по отдельности.
  • Поиск минимального и максимального элементов: Используем вложенные циклы для перебора всех элементов матрицы. Если текущий элемент меньше минимального найденного на данный момент, обновляем минимальное значение и сохраняем его индексы. То же самое для максимального элемента.
  • Индексация: Поскольку в условии указано, что нумерация начинается с единицы, прибавляем 1 к индексам строки и столбца при выводе.

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

Входные данные:

4 5 1 3 2 54 24 75 12 3 46 9 13 26 56 9 12 14 90 97 6 34

Выходные данные:

1 1 1 4 3 97

Объяснение вывода:

  • Минимальный элемент в матрице — это 11, который находится в позиции (1, 1).
  • Максимальный элемент в матрице — это 9797, который находится в позиции (4, 3).

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

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

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

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

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