Напишите программу, размещающую в памяти два вектора и вычисляющую их скалярное произведение.

minipersik02 minipersik02    3   11.07.2019 02:00    1

Ответы
lflflflfgh lflflflfgh  15.09.2020 12:47
{ Free Pascal - fpc 2.6.4 }
var
  i,n:integer;
  A,B:array of integer;
  p:longint;
begin
  Write('Число элементов в векторах='); Read(n);
  Randomize;
  SetLength(A,n);
  Writeln('Вектор A');
  for i:=0 to n-1 do begin A[i]:=Random(51)-25; Write(A[i],' ') end;
  Writeln;
  SetLength(B,n);
  p:=0;
  Writeln('Вектор B');
  for i:=0 to n-1 do begin
    B[i]:=Random(51)-25;
    Write(B[i],' ');
    p:=p+A[i]*B[i]
    end;
  Writeln;
  Writeln('Скалярное произведение равно ',p);
end.

Тестовое решение:
Число элементов в векторах=15
Вектор A
-16 -6 -1 6 -6 7 22 4 16 19 3 -21 19 22 7
Вектор B
21 21 -2 -8 -3 25 -4 20 6 -11 8 10 -16 -16 19
Скалярное произведение равно -1145
ПОКАЗАТЬ ОТВЕТЫ
Другие вопросы по теме Информатика