Даны две матрицы а(nxn) и b(nxn), а также два вектора х = (x1, xn) и y = (y1, y2, yn). написать программу нахождения скалярного произведения (ах)*(ву).
type tM = array[1..n, 1..n] of integer; tV = array[1..n] of integer;
procedure ProdMV(a: tM; b: tV; var c: tV); var i, j, s: integer; begin for i := 1 to n do begin s := 0; for j := 1 to n do s := s + a[i, j] * b[j]; c[i] := s; end end;
procedure SumV(a, b: tV; var c: tV); var i: integer; begin for i := 1 to n do c[i] := a[i] + b[i] end;
procedure InitMatrix(var a: tM; p, q: integer); { Инициализация элементов случайными числами на [p;q]} var i, j, k: integer; begin k := q - p + 1; for i := 1 to n do for j := 1 to n do a[i, j] := Random(k) + p end;
procedure InitVector(var a: tV; p, q: integer); { Инициализация элементов случайными числами на [p;q]} var i, k: integer; begin k := q - p + 1; for i := 1 to n do a[i] := Random(k) + p end;
procedure DisplayMatrix(a: tM; s: string); var i, j: integer; begin Writeln(s); for i := 1 to n do begin for j := 1 to n do Write(a[i, j]:5); Writeln end end;
procedure DisplayVector(a: tV; s: string); var i: integer; begin Writeln(s); for i := 1 to n do Write(a[i]:5); Writeln end;