Вопрос, который вызвал трудности
Напишите программу, которая находит минимальный и максимальный элементы в матрице. Если в матрице есть несколько одинаковых минимальных (максимальных) элементов, нужно найти индексы первого такого элемента в порядке обхода по строкам: сверху вниз, слева направо.
Входные данные
В первой строке записаны через пробел размеры матрицы: количество строк 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
Ответ экспертов Учись.Ru
Чтобы дать полноценный ответ, был привлечён специалист, который хорошо разбирается в теме «Информатика». Ваш вопрос звучал так: Напишите программу, которая находит минимальный и максимальный элементы в матрице. Если в матрице есть несколько одинаковых минимальных (максимальных) элементов, нужно найти индексы первого такого элемента в порядке обхода по строкам: сверху вниз, слева направо.
Входные данные
В первой строке записаны через пробел размеры матрицы: количество строк 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
После обсуждения с другими специалистами сервиса мы пришли к выводу, что правильный ответ на ваш вопрос будет звучать следующим образом:
// Внимание! Если программа не работает, обновите версию!
begin
var n,m:integer;
Read(n,m);
var a:=ReadMatrInteger(n,m);
var t:=a.ElementsWithIndexes.MinBy(x->x[2]);
Println(t[0]+1,t[1]+1,t[2]);
t:=a.ElementsWithIndexes.MaxBy(x->x[2]);
Println(t[0]+1,t[1]+1,t[2]);
end.
Пример
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