2. даны 3 двумерных массива a, b, c неодинаковой размерности. разработать 2 процедуры: 1) процедуру для ввода размеров и элементов массива. 2) процедуру вычисления суммы диагональных элементов в каждом массиве. в программе вычислить общую сумму диагональных элементов 3-х массивов. результаты выдать на экран. нужен

wanecow01 wanecow01    1   27.08.2019 22:20    1

Ответы
tihon123123 tihon123123  05.10.2020 23:32
// 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
ПОКАЗАТЬ ОТВЕТЫ
Другие вопросы по теме Информатика