Используя подпрограммы ввода и вывода массива, вычислить и вывести значения последующих

Используя подпрограммы ввода и вывода массива, вычислить и вывести значения последующих матриц: .... .
Все матрицы квадратные и схожей размерности.

Задать свой вопрос
1 ответ
// PascalABC.NET 3.2, сборка 1415 от 25.03.2017
// Внимание! Если программа не работает, обновите версию!

function MatRead(var n:integer):array[,] of integer;
// функция создает и отдаёт квадратную матрицу n*n,
// элементы которой вводятся к склавиатуры.
// Она фактически не нужна в этой версии Паскаля,
// потому что теснее встроена, но раз требуют...
begin
  Result:=ReadMatrInteger(n,n)
end;

function MatSum(a,b:array[,] of integer):array[,] of integer;
begin
  var n:=a.RowCount-1;
  SetLength(Result,n+1,n+1);
  for var i:=0 to n do
    for var j:=0 to n do
      Result[i,j]:=a[i,j]+b[i,j]
end;

procedure MatPrint(a:array[,] of integer; p:integer);
// вывод матрицы a в p позициях
// И эта процедура практически не нужна, но находится
// из-за требований задачки.
begin
  a.Println(p)
end;

begin
  var n:=ReadInteger('n=');
  Writeln('Введите элементы матрицы А');
  var a:=MatRead(n);
  Writeln('Введите элементы матрицы B');
  var b:=MatRead(n);
  MatPrint(MatSum(Transpose(a),b),4);
  Writeln;
  MatPrint(MatSum(Transpose(b),a),4)
end.

Пример
n= 3
Введите элементы матрицы А
1 2 3 4 5 6 7 8 9
Введите элементы матрицы B
18 17 16 15 14 13 12 11 10
  19  21  23
  17  19  21
  15  17  19

  19  17  15
  21  19  17
  23  21  19
, оставишь ответ?
Имя:*
E-Mail:


Добро пожаловать!

Для того чтобы стать полноценным пользователем нашего портала, вам необходимо пройти регистрацию.
Зарегистрироваться
Создайте собственную учетную запить!

Пройти регистрацию
Авторизоваться
Уже зарегистрированны? А ну-ка живо авторизуйтесь!

Войти на сайт