// PascalABC.NET 3.2, сборка 1417 от 28.03.2017
// Внимание! Если программа не работает, обновите версию!
type
Mas=array[,] of integer;
procedure GetMas(s:string; var a:Mas);
begin
Writeln('*** Массив ',s,' ***');
var n:=ReadInteger('Количество строк в массиве:');
var m:=ReadInteger('Количество столбцов в массиве:');
Writeln('Вводите элементы массива');
a:=ReadMatrInteger(n,m)
end;
function SumDiag(a:Mas):integer;
begin
Result:=0;
for var i:=0 to Min(a.RowCount,a.ColCount)-1 do Result+=a[i,i]
end;
begin
var a,b,c:Mas;
GetMas('A',a);
GetMas('B',b);
GetMas('C',c);
Writeln('Общая сумма элементов главных диагоналей равна ',
SumDiag(a)+SumDiag(b)+SumDiag(c))
end.
Пример
*** Массив A ***
Количество строк в массиве: 3
Количество столбцов в массиве: 4
Вводите элементы массива
-33 -50 34 -41
-31 10 37 31
32 -49 -32 -27
*** Массив B ***
Количество строк в массиве: 2
Количество столбцов в массиве: 2
Вводите элементы массива
-22 35
0 11
*** Массив C ***
Количество строк в массиве: 3
Количество столбцов в массиве: 2
Вводите элементы массива
23 38
17 -8
16 -1
Общая сумма элементов главных диагоналей равна -51