Используя подпрограммы ввода и вывода массива, вычислить и вывести значения последующих
Используя подпрограммы ввода и вывода массива, вычислить и вывести значения последующих матриц: .... .
Все матрицы квадратные и схожей размерности.
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
// Внимание! Если программа не работает, обновите версию!
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
, оставишь ответ?
Похожие вопросы
-
Вопросы ответы
Новое
NEW
Статьи
Информатика
Статьи
Последние вопросы
Игорь 14 лет назад был на 8 лет моложе, чем его
Математика.
Два тела массами m1 и m2 находящие на расстоянии R друг
Физика.
В сосуде 4целых одна пятая литр воды что бы заполнить сосуд
Математика.
Двум малярам Диме И Олегу поручили выкрасить фасад дома они разделили
Разные вопросы.
найти порядковый номер 41Э если в ядре 20 нейтронов
Разные вопросы.
в ряду натуральных чисел 3, 8, 10, 24, … 18 одно
Математика.
Предприятие по производству с/хоз продукции на производство затратило 3527000 руб Валовый
Разные вопросы.
Математика, задано на каникулы. ВАРИАНТ 1004
НОМЕР 1,2,3,4,5,6,7,8.
Математика.
Имеются три конденсатора емкостью С1=1мкФ, С2=2мкФ и С3=3мкФ. Какую наименьшую емкость
Физика.
Из точки м выходят 3 луча MP MN и MK причём
Геометрия.
Облако тегов