Консультация № 160446
17.02.2009, 11:04
0.00 руб.
0 1 1
Здравствуйте уважаемые специалисты, помогите мне пожалуйста решить задачу в паскале. Заранее спасибо

Приложение:
Разработать программу для вычисления следующих матриц
а) умножение матрицы на число, умножение матриц, сложение матриц;
б) 5B+C*C;

Обсуждение

Неизвестный
18.02.2009, 22:51
общий
это ответ
Здравствуйте, Андрей Васин!
Немного переделанный вариант решения задачи 160447

Приложение:
program Q160447;

const
{ Максимальный размер матрицы }
MX_SIZE = 10;

type
{ Квадратная матрица }
TMatrix = array[1..MX_SIZE, 1..MX_SIZE] of Integer;

var
A, B, C: TMatrix;
n, i, j, t: Byte;
begin
{ Вводим размер матрицы }
repeat
write('n = '); readln(n);
until ((n > 0) and (n <= MX_SIZE));

randomize;

{ Подготовка и вывод матриц }
writeln('A = ');
for j:= 1 to n do
begin
write(j:2, ': ');
for i:= 1 to n do
begin
A[i, j]:= random(19) - 9;
B[i, j]:= random(19) - 9;
write(A[i, j]:3);
end;
writeln;
end;

{ Вывод матрицы В }
writeln;
writeln('B = ');
for j:= 1 to n do
begin
write(j:2, ': ');
for i:= 1 to n do
write(B[i, j]:3);
writeln;
end;

{ Даем возможность просмотреть матрицы }
{ Ждем, когда пользователь нажмет [Enter] }
readln;

{ Вычисление матрицы С }
writeln('C = ');
for j:= 1 to n do
begin
write(j:2, ': ');
for i:= 1 to n do
begin
{ Сразу прибавляем транспонированную матрицу В }
C[i, j]:= 5*B[i,j];
for t:= 1 to n do
{ К транспонированной матрице В }
{ добавляем 6*A*A }
C[i, j]:= C[i, j] + A[i, t]*A[t, j];
{ Выводим результат }
write(C[i, j]:5);
end;
writeln;
end;

{ Ждем, когда пользователь нажмет [Enter] }
Readln;
end.
Форма ответа