// PascalABC.NET 3.3, сборка 1599 от 17.12.2017
// Внимание! Если программа не работает, обновите версию!
begin
Randomize(2);
var n:=ReadInteger('n=');
var a:=ArrRandom(n,-99,99); a.Println;
var s:=0;
for var i:=0 to n-1 do
s+=a[i]*a[n-i-1];
Writeln('S=',s)
end.
Пример
n= 17
54 -19 -66 97 -78 -38 60 -11 -55 -97 53 -94 -98 2 -23 -44 40
S=43367
№2
begin
var (m,n):=ReadInteger2('Количество строк и столбцов в матрице:');
Writeln('*** Исходная матрица ***');
var a:=MatrRandom(m,n,-20,20);
a.Println(4); Writeln(4*a.ColCount*'-');
var s:=a.ElementsByRow.GroupBy(t->t).Select(t->(t.Key,t.Count))
.Where(t->t[1]>1);
if s.Count>0 then Writeln('Искомый максимум: ',s.Max(t->t[0]))
else Writeln('Все значения элемепнтов уникальны')
end.
Пример
Количество строк и столбцов в матрице: 4 7
*** Исходная матрица ***
-9 10 -3 -11 6 -1 17
-18 18 18 20 2 -6 20
-6 11 18 -6 -9 -16 -3
-8 8 -19 5 20 19 0
----------------------------
Искомый максимум: 20