Консультация № 161738
01.03.2009, 20:49
0.00 руб.
0 1 1
Здравствуйте уважаемые эксперты помогите пожалуйста вычислить матрицу:


(3*В1+2*А1) и всё это транспонировать

Матрицы:
(0,2) =B1
(-3)
(4)

(1) =А1
(2)
(3)

Обсуждение

Неизвестный
02.03.2009, 14:50
общий
это ответ
Здравствуйте, StaFFyGirl!
В вашем примере матрицы A1 и B1 представляют собой одномерные массивы-столбцы. Умножение их на константу и сложение между собой даст в итоге матрицу той же размерности, т.е. отдномерный массив-столбец. Транспонирование, т.е. процесс замены строк соответствующими столбцами даст также одномерный массив, но записанный в виде строки. В программе все три матрицы реализованы в виде одномерных массивов, различие между строкой и столбцом заметно только при выводе на печать.
Код программы - в приложении.


Приложение:
uses crt;
type matrix = array[1..3] of real;
const a1:matrix = (1,2,3);
b1:matrix=(0.2,-3,4);
var c1:matrix;
i:integer;
BEGIN
clrscr;
writeln('Matritsa B1:');
for i:=1 to 3 do
writeln(b1[i]:8:2);
writeln;

writeln('Matritsa A1:');
for i:=1 to 3 do
writeln(a1[i]:8:2);
writeln;

for i:=1 to 3 do
c1[i]:=3*b1[i]+2*a1[i];

writeln('Matritsa (3*B1+2*A1) transponirovannaya:');
for i:=1 to 3 do
write (c1[i]:8:2);
readln;
END.
Форма ответа