Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- class MyVector3D // class <название класса> {...}
- {
- // у класс
- private: // обычно здесь свойства
- int _x,_y,_z; // объявляем свойства
- public: // обычно здесь методы
- MyVector3D(int x, int y, int z){ // конструктор (выполняется при создании объекта)
- this->_x=x; // this - класс в котором мы находимся
- this->_y=y;
- this->_z=z;
- }
- friend double volume(const MyVector3D v1,const MyVector3D v2,const MyVector3D v3,const MyVector3D v4) // определяем функцию volume
- {
- int l1[3], l2[3], l3[3], V; // объявляем 3 массива l1, l2, l3 и одну переменную
- l1[0] = v2._x - v1._x; // 23 - (-11) = 34
- l1[1] = v2._y - v1._y; // 57 - 33 = 24
- l1[2] = v2._z - v1._z; // -94 - (-77) =
- l2[0] = v3._x-v1._x;
- l2[1] = v3._y-v1._y;
- l2[2] = v3._z-v1._z;
- l3[0] = v4._x-v1._x;
- l3[1] = v4._y-v1._y;
- l3[2] = v4._z-v1._z;
- printf("vec1 [%d %d %d] \n", l1[0], l1[1], l1[2]);
- printf("vec2 [%d %d %d] \n", l2[0], l2[1], l2[2]);
- printf("vec3 [%d %d %d] \n", l3[0], l3[1], l3[2]);
- 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]; // смешанное производная
- return V/6.0;
- }
- // v1, v2, v3, v4 ----> [v1,v2], [v1,v3], [v1, v4] ----> V
- };
- int main()
- {
- MyVector3D a(-11, 33, -77),
- b(23, 57, -94),
- c(79, 37, 51),
- d(19, -55, 13);
- double V;
- V = volume(a, b, c, d); // отправляем точки в функцию volume
- printf("\n V = %f", V);
- getchar();
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement