type Vector = array[1..n] of Integer; Matrix = array[1..n, 1..n] of Integer;
var a: Vector; b: Vector; C: Matrix; i, j: Integer;
procedure InitializeMatrix; begin for i := 1 to n do for j := 1 to n do C[i, j] := Random(10); // заполнение случайными значениями end;
procedure InitializeVector; begin for i := 1 to n do a[i] := Random(10); // заполнение случайными значениями end;
procedure MultiplyMatrixVector; var sum: Integer; begin for i := 1 to n do begin sum := 0; for j := 1 to n do sum := sum + C[i, j] * a[j]; b[i] := sum; end; end;
program MatrixVectorMultiplication;
const
n = 4;
type
Vector = array[1..n] of Integer;
Matrix = array[1..n, 1..n] of Integer;
var
a: Vector;
b: Vector;
C: Matrix;
i, j: Integer;
procedure InitializeMatrix;
begin
for i := 1 to n do
for j := 1 to n do
C[i, j] := Random(10); // заполнение случайными значениями
end;
procedure InitializeVector;
begin
for i := 1 to n do
a[i] := Random(10); // заполнение случайными значениями
end;
procedure MultiplyMatrixVector;
var
sum: Integer;
begin
for i := 1 to n do
begin
sum := 0;
for j := 1 to n do
sum := sum + C[i, j] * a[j];
b[i] := sum;
end;
end;
begin
Randomize;
InitializeMatrix;
InitializeVector;
MultiplyMatrixVector;
writeln('Matrix C:');
for i := 1 to n do
begin
for j := 1 to n do
write(C[i, j], ' ');
writeln;
end;
writeln;
writeln('Vector a:');
for i := 1 to n do
write(a[i], ' ');
writeln;
writeln;
writeln('Vector b = C * a:');
for i := 1 to n do
write(b[i], ' ');
readln;
end.