Найти значение: min(P1, P2), где P1 – скалярное произведение векторов A и B. P2 – скалярное произведение векторов C и D. Вычисление скалярного произведения векторов оформить подпрограммой. Исходные данные: А=(-5.1, 2.7, 3.4, 6....

Найти значение: min(P1, P2), где P1 – скалярное произведение векторов A и B. P2 – скалярное произведение векторов C и D. Вычисление скалярного произведения векторов оформить подпрограммой. Исходные данные: А=(-5.1, 2.7, 3.4, 6.2); В=(1.2, 3.4, 0, 2.5); С=(2.7, 3.4, 2.5, 6.3, 7.8); D=(1.7, -1.3, 2.8, 0, 7.2);
Гость
Ответ(ы) на вопрос:
Гость
Тогда будет Паскаль... const   nm = 5; type   V = array[1..nm] of real; function SP(var a, b: V; n: integer): real; var   i: integer;   s: real; begin   s := 0;   for i := 1 to n do s := s + a[i] * b[i];   SP := s end; var   A, B, C, D: V;   P1, P2, min: real;   i, n: integer; begin   Write('Введите размерность вектора A: '); Readln(n);   Write('Введите координаты вектора A через пробел: ');   for i := 1 to n do Read(A[i]);   Write('Введите координаты вектора B через пробел: ');   for i := 1 to n do Read(B[i]);   P1 := SP(A, B, n);   Write('Введите размерность вектора C: '); Readln(n);   Write('Введите координаты вектора C через пробел: ');   for i := 1 to n do Read(C[i]);   Write('Введите координаты вектора D через пробел: ');   for i := 1 to n do Read(D[i]);   P2 := SP(C, D, n);   if P1 > P2 then min := P2 else min := P1;   Writeln('Меньшее из скалярных произведений (A*B),(C*D) равно ', min); end. Результаты выполнения: Введите размерность вектора A: 4 Введите координаты вектора A через пробел: -5.1 2.7 3.4 6.2 Введите координаты вектора B через пробел: 1.2 3.4 0 2.5 Введите размерность вектора C: 5 Введите координаты вектора C через пробел: 2.7 3.4 2.5 6.3 7.8 Введите координаты вектора D через пробел: 1.7 -1.3 2.8 0 7.2 Меньшее из скалярных произведений (A*B),(C*D) равно 18.56
Не нашли ответ?
Ответить на вопрос
Похожие вопросы