Дана действительная матрица размера n x m, все элементы которой различны. В каждой строке...

0 голосов
115 просмотров

Дана действительная матрица размера n x m, все элементы которой различны. В каждой строке выбирается элемент с наименьшим значением, затем среди этих чисел выбирается наибольшее. Указать индексы элемента с найденным значением.
ПОМОГИТЕ. НУЖЕН ПАСКАЛЬ.


Информатика (15 баллов) | 115 просмотров
Дан 1 ответ
0 голосов
Правильный ответ
// PascalABC.NET 3.2, сборка 1482 от 12.06.2017
// Внимание! Если программа не работает, обновите версию!

begin
  var n:=ReadInteger('Количество строк в матрице:');
  var m:=ReadInteger('Количество столбцов в матрице:');
  var a:=new real[n,m]; // создали матрицу
  var s:=SeqRandom(m,1000,9999).Select(x->x/100); // шаблон случайной строки
  for var i:=0 to n-1 do a.SetRow(i,s.ToArray); // заполнили матрицу
  Writeln('*** Исходная матрица [',n,',',m,'] ***');
  a.Println(6,2); Writeln(6*a.ColCount*'-');
  // собственно, поиск нужного элемента
  var r:=a.Rows.Select((x,i)->(x.Select((y,j)->(y,j))
    .MinBy(y->y[0]),i)).MaxBy(x->x[0][0]);
  Writeln('Искомый элемент A[',r[1]+1,',',r[0][1]+1,']=',r[0][0])
end.

Пример
Количество строк в матрице: 4
Количество столбцов в матрице: 7
*** Исходная матрица [4,7] ***
 95.22 17.16 14.35 66.27 20.10 91.88 67.96
 20.80 32.71 45.44 35.80 20.17 58.59 24.22
 93.03 93.99 18.30 75.80 65.47 97.14 56.24
 16.95 73.12 48.54 75.72 91.90 67.95 95.71
------------------------------------------
Искомый элемент A[2,5]=20.17
(150k баллов)