Регистрация
Войти
Стать экспертом Правила
Информатика

(Pascal)Дан двумерный целочисленный массив
1) найти максимальный элемент массива не превосходящий данного числа N.
2)найти максимальный элемент и его положение в массиве.

ОТВЕТЫ
// PascalABC.NET 3.2, сборка 1374 от 10.01.2017
// Внимание! Если программа не работает, обновите версию!

begin
  var m:=ReadInteger(Количество строк в массиве:);
  var n:=ReadInteger(Количество столбцов в массиве:);
  Writeln(*** Исходный массив [,m,,,n,] ***);
  var a:=MatrRandom(m,n,-50,50);
  a.Println(4); Writeln(4*a.ColCount*-);
  var b:=a.Rows.SelectMany(x-gt;x).ToArray;
  var nn:=ReadInteger(1. Введите число N:);
  Write(Максимальный из элементов, не превосходящий N);
  if nnlt;b.Min then Writeln(, не существует)
  else Writeln(, равен ,b.Where(x-gt;xlt;=nn).Max);
  Write(2. Максимальный элемент в массиве [);
  var i:=b.IndexMax;
  Writeln(i div n+1,,,i mod n+1,]=,a[i div n,i mod n])
end.

Пример
Количество строк в массиве: 5
Количество столбцов в массиве: 9
*** Исходный массив [5,9] ***
 -18 -13  16  23 -14 -30 -12  -2  -2
 -34  11 -47 -35  20  44  29 -36  46
   2 -28 -35  -6  38  -9  -2   8 -10
   3  16   5 -20   8   5  48   7 -33
 -25   3  30 -35 -10  22 -11  42 -44
------------------------------------
1. Введите число N: 31
Максимальный из элементов, не превосходящий N, равен 30
2. Максимальный элемент в массиве [4,7]=48
168
Контакты
Реклама на сайте
Спрошу
О проекте
Новым пользователям
Новым экспертам