// PascalABC.NET 3.2, сборка 1439 от 09.05.2017
// Внимание! Если программа не работает, обновите версию!
begin
var n:=ReadInteger('Количество строк в матрице:');
var m:=ReadInteger('Количество столбцов в матрице:');
Writeln('*** Исходная матрица [',n,',',m,'] ***');
var a:=MatrRandom(n,m,-99,99);
a.Println(4); Writeln(4*a.ColCount*'-');
var s:=a.Row(0).Sum+a.Row(n-1).Sum;
s+=a.Col(0).Skip(1).Take(n-2).Sum+a.Col(m-1).Skip(1).Take(n-2).Sum;
Writeln('Сумма по периметру ',s)
end.
Пример
Количество строк в матрице: 4
Количество столбцов в матрице: 5
*** Исходная матрица [4,5] ***
87 -67 11 59 46
-13 86 -74 20 -98
-74 24 6 51 74
26 -93 36 40 66
--------------------
Сумма по периметру 100