ВУЗ:
Составители:
Рубрика:
18
then f:=false;
end;
if f then b[i,j]:=1 else b[i,j]:=0;
write(b[i,j]:4)
end;
writeln
end;
readkey
End.{Sosedi}
В следующей задаче по двум данным матрицам строится определенным
способом новая матрица.
Задача 4. Используя следующий фрагмент программы , найдите
C
A
B
=
⋅
:
const n=20;
var A, B, C: array [1..n,1..n] of real;
♣ Каждый элемент матрицы С [i,j] получается как сумма произведений эле-
ментов i-й строки матрицы A на элементы j - го столбца матрицы. Организуем
три вложенных цикла. Первый (внешний ) цикл по i перебирает строки матриц
А и С . Второй цикл по j перебирает столбцы матриц С и В . Третий цикл по k
накапливает в элементе с [i,j] сумму произведений a [i,k] и b [k,j]. ♣
Program Proizved_matr;
Uses crt;
Const n=3;
Var a,b,c:array[1..n,1..n] of real; i,j,k:integer;
Begin
Textbackground(7); Textcolor(blue); Clrscr;
writeln('Введите элементы матрицы А порядка ',n,'x',n);
for i:=1 to n do
for j:=1 to n do read(a[i,j]);
writeln('Введите элементы матрицы B порядка ',n,'x',n);
for i:=1 to n do
for j:=1 to n do read(b[i,j]);
{------------------------------------------------------}
writeln('Матрица С=А*В');
for i:=1 to n do
begin
for j:=1 to n do
begin
c[i,j]:=0;
for k:=1 to n do
c[i,j]:=c[i,j]+a[i,k]*b[k,j];
write(c[i,j]:5:1,' ')
end;
writeln
end;
readkey
Страницы
- « первая
- ‹ предыдущая
- …
- 16
- 17
- 18
- 19
- 20
- …
- следующая ›
- последняя »