Advertisement
Guest User

Untitled

a guest
Apr 23rd, 2019
83
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.82 KB | None | 0 0
  1. #include <stdio.h>
  2.  
  3. class MyVector3D // class <название класса> {...}
  4. {
  5.   // у класс
  6. private: // обычно здесь свойства
  7.     int _x,_y,_z; // объявляем свойства
  8. public: // обычно здесь методы
  9.  
  10.     MyVector3D(int x, int y, int z){ // конструктор (выполняется при создании объекта)
  11.       this->_x=x; // this - класс в котором мы находимся
  12.       this->_y=y;
  13.       this->_z=z;
  14.     }
  15.  
  16.     friend double volume(const MyVector3D v1,const MyVector3D v2,const MyVector3D v3,const MyVector3D v4) // определяем функцию volume
  17. {
  18.     int l1[3], l2[3], l3[3], V; // объявляем 3 массива l1, l2, l3 и одну переменную
  19.    
  20.     l1[0] = v2._x - v1._x; //  23 - (-11) = 34
  21.     l1[1] = v2._y - v1._y; //  57 - 33    = 24
  22.     l1[2] = v2._z - v1._z; // -94 - (-77) =
  23.    
  24.     l2[0] = v3._x-v1._x;
  25.     l2[1] = v3._y-v1._y;
  26.     l2[2] = v3._z-v1._z;
  27.    
  28.     l3[0] = v4._x-v1._x;
  29.     l3[1] = v4._y-v1._y;
  30.     l3[2] = v4._z-v1._z;
  31.  
  32.     printf("vec1 [%d %d %d] \n", l1[0], l1[1], l1[2]);
  33.     printf("vec2 [%d %d %d] \n", l2[0], l2[1], l2[2]);
  34.     printf("vec3 [%d %d %d] \n", l3[0], l3[1], l3[2]);
  35.    
  36.     V = l1[0]*l2[1]*l3[2]+l1[1]*l2[2]*l3[0]+l1[2]*l2[0]*l3[1]-l1[2]*l2[1]*l3[0]-l1[1]*l2[0]*l3[2]-l1[0]*l2[2]*l3[1]; // смешанное производная
  37.     return V/6.0;
  38. }
  39.  
  40.     // v1, v2, v3, v4 ----> [v1,v2], [v1,v3], [v1, v4] ----> V
  41.  
  42. };
  43.  
  44. int main()
  45. {
  46.     MyVector3D a(-11, 33, -77),
  47.                b(23, 57, -94),
  48.                c(79, 37, 51),
  49.                d(19, -55, 13);
  50.     double V;
  51.     V = volume(a, b, c, d); // отправляем точки в функцию volume
  52.     printf("\n V = %f", V);
  53.     getchar();
  54.     return 0;
  55. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement