// PascalABC.NET 3.3, сборка 1555 от 21.10.2017 // Внимание! Если программа не работает, обновите версию!
begin var a:=MatrRandom(5,5,0,100); Writeln('*** Исходная матрица ***'); a.Println(4); Writeln(4*a.ColCount*'-'); var k:=a.ElementsWithIndexes.MaxBy(t->t[0]); Write('Максимальный элемент [',k[1]+1,',',k[2]+1,']=',k[0]); var p:=' на '; if k[1]<k[2] then p:=' выше ' else if k[1]>k[2] then p:=' ниже '; Writeln(', расположен',p,'главной диагонали') end.
В переменной s суммируются разности элементов, идущих друг за другом. Для того, чтобы s была наименьшей после выполнения программы, необходимо, чтобы разность элементов была наименьшей. Поскольку массив целочисленный, наименьшая разность равна единице. Алгоритм обрабатывает первые десять элементов массива, следовательно, наименьшее значение, которое может иметь переменная s после выполнения данной программы, равно 27 + 10 · 1 = 37. ответ: 37.
// Внимание! Если программа не работает, обновите версию!
begin
var a:=MatrRandom(5,5,0,100);
Writeln('*** Исходная матрица ***');
a.Println(4); Writeln(4*a.ColCount*'-');
var k:=a.ElementsWithIndexes.MaxBy(t->t[0]);
Write('Максимальный элемент [',k[1]+1,',',k[2]+1,']=',k[0]);
var p:=' на ';
if k[1]<k[2] then p:=' выше '
else if k[1]>k[2] then p:=' ниже ';
Writeln(', расположен',p,'главной диагонали')
end.
Пример
*** Исходная матрица ***
41 4 37 54 30
71 73 75 65 22
38 60 85 89 74
0 87 82 55 69
69 87 21 71 73
Максимальный элемент [3,4]=89, расположен выше главной диагонали