Advertisement
Neg0day

Untitled

Jun 15th, 2021
256
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 2.44 KB | None | 0 0
  1. #include <stdio.h>
  2. #include <locale.h>
  3. #include <math.h>
  4.  
  5. float dotProduct_P(float xu, float yu, float zu, float xv, float yv, float zv)
  6. {
  7.     float xp = 0, yp = 0, zp = 0; // координаты вектора p
  8.     float xa = 0, ya = 0, za = 0; // координаты вектора a
  9.     float xb = 0, yb = 0, zb = 0; // координаты вектора b
  10.     float xc = 0, yc = 0, zc = 0; // координаты вектора c
  11.     float x1 = 0, y1 = 0, z1 = 0;
  12.     float x2 = 0, y2 = 0, z2 = 0;
  13.     float x3 = 0, y3 = 0, z3 = 0;
  14.     float P;
  15.  
  16.     xp = (yu * zv) - (zu * yv);
  17.     yp = (zu * xv) - (xu * zv);
  18.     zp = (xu * yv) - (yu * xv);
  19.     printf("Векторное произведение: \nx=%f\ny=%f\nz=%f\n", xp, yp, zp);
  20.     P = sqrt(xp * xp + yp * yp + zp * zp);
  21.     printf("Длина вектора P: %f \n", P);
  22.     printf("Введите координаты вектора a(x,y,z):\n");
  23.     scanf_s("%f%f%f", &xa, &ya, &za); /// Ввод данных
  24.     printf("Введите координаты вектора b(x,y,z):\n");
  25.     scanf_s("%f%f%f", &xb, &yb, &zb); /// Ввод данных
  26.     printf("Введите координаты вектора c(x,y,z):\n");
  27.     scanf_s("%f%f%f", &xc, &yc, &zc); /// Ввод данных
  28.     x1 = (ya * zb) - (za * yb);
  29.     y1 = (zb * xa) - (xb * za);
  30.     z1 = (xa * yb) - (ya * xb);
  31.     printf("Попарное произведения вектора a и b: \nx=%f\ny=%f\nz=%f\n", x1, y1, z1);
  32.     x2 = (yb * zc) - (zb * yc);
  33.     y2 = (zc * xb) - (xc * zb);
  34.     z2 = (xb * yc) - (yb * xc);
  35.     printf("Попарное произведения вектора b и c: \nx=%f\ny=%f\nz=%f\n", x2, y2, z2);
  36.     x3 = (yc * za) - (zc * ya);
  37.     y3 = (za * xc) - (xa * zc);
  38.     z3 = (xc * ya) - (yc * xa);
  39.     printf("Попарное произведения вектора c и a: \nx=%f\ny=%f\nz=%f\n", x3, y3, z3);
  40.     return P;
  41. }
  42.  
  43. int main()
  44. {
  45.     float xu = 0, yu = 0, zu = 0; // координаты вектора u
  46.     float xv = 0, yv = 0, zv = 0; // координаты вектора v
  47.     setlocale(LC_ALL, "rus");
  48.     printf("Введите координаты вектора u(x,y,z):\n");
  49.     scanf_s("%f%f%f", &xu, &yu, &zu); /// Ввод данных
  50.     printf("Введите координаты вектора v(x,y,z):\n");
  51.     scanf_s("%f%f%f", &xv, &yv, &zv); /// Ввод данных
  52.     float P;
  53.     P = dotProduct_P(xu, yu, zu, xv, yv, zv);
  54. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement