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

Evlampievich
Jul 6, 2019
// 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
// Внимание! Если программа не работает, обновите версию!
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
Смежные вопросы: