Advertisement
Guest User

Untitled

a guest
May 26th, 2015
268
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.26 KB | None | 0 0
  1. #include <iostream>
  2. #include <cmath>
  3.  
  4. using namespace std;
  5.  
  6. class Vektor3d
  7. {
  8. double x, y, z;
  9.  
  10. public:
  11. /* ovo isto je dodato na primjer sa predavanja */
  12. Vektor3d()
  13. {
  14. x = 0;
  15. y = 0;
  16. z = 0;
  17. }
  18. Vektor3d(double x, double y, double z)
  19. {
  20. this->x = x;
  21. this->y = y;
  22. this->z = z;
  23. }
  24. /* dovle */
  25. void Postavi(double x, double y, double z)
  26. {
  27. Vektor3d::x = x;
  28. Vektor3d::y = y;
  29. Vektor3d::z = z;
  30. }
  31. void Ocitaj(double &x, double &y, double &z) const
  32. {
  33. x = Vektor3d::x;
  34. y = Vektor3d::y;
  35. z = Vektor3d::z;
  36. }
  37. void Ispisi() const
  38. {
  39. std::cout << "{" << x << "," << y << "," << z << "}";
  40. }
  41. double DajX() const
  42. {
  43. return x;
  44. }
  45. double DajY() const
  46. {
  47. return y;
  48. }
  49. double DajZ() const
  50. {
  51. return z;
  52. }
  53. double DajDuzinu() const
  54. {
  55. return std::sqrt(x * x + y * y + z * z);
  56. }
  57. Vektor3d &PomnoziSaSkalarom(double s)
  58. {
  59. x *= s;
  60. y *= s;
  61. z *= s;
  62. return *this;
  63. }
  64. Vektor3d &SaberiSa(const Vektor3d &v)
  65. {
  66. x += v.x;
  67. y += v.y;
  68. z += v.z;
  69. return *this;
  70. }
  71.  
  72. friend Vektor3d ZbirVektora(const Vektor3d &v1, const Vektor3d &v2)
  73. {
  74. Vektor3d v3;
  75. v3.x = v1.x + v2.x;
  76. v3.y = v1.y + v2.y;
  77. v3.z = v1.z + v2.z;
  78. return v3;
  79. }
  80.  
  81. /* dodato */
  82. friend Vektor3d &operator +=(Vektor3d &v1, const Vektor3d &v2)
  83. {
  84. v1.x += v2.x; v1.y += v2.y; v1.z += v2.z;
  85.  
  86. return v1;
  87. }
  88.  
  89. friend Vektor3d &operator *=(Vektor3d &v1, int p)
  90. {
  91. v1.x *= p; v1.y *= p; v1.z *= p;
  92.  
  93. return v1;
  94. }
  95.  
  96. friend inline Vektor3d operator +(Vektor3d v1, const Vektor3d &v2)
  97. {
  98. return v1 += v2;
  99. }
  100.  
  101. friend ostream &operator <<(ostream &tok, const Vektor3d &v)
  102. {
  103. tok << "{" << v.x << "," << v.y << "," << v.z << "}";
  104. return tok;
  105. }
  106. /* dovde */
  107.  
  108. };
  109.  
  110.  
  111. int main()
  112. {
  113. Vektor3d a;
  114. a.Postavi(1, 2, 3);
  115. Vektor3d b;
  116. b.Postavi(2, 3, 4);
  117.  
  118. Vektor3d c;
  119. c = a + b;
  120.  
  121. cout << c;
  122.  
  123. return 0;
  124. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement