Advertisement
bazmikel

2 zadanie

Oct 15th, 2019
154
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 3.30 KB | None | 0 0
  1. #include <iostream>
  2. #include <fstream>
  3. #include <string>
  4.  
  5. using namespace std;
  6.  
  7. class punkt{
  8. private:
  9.     double x_, z_, y_;
  10. public:
  11.     punkt() :x_(0), z_(0), y_(0) {};
  12.     punkt(double xx, double yy, double zz) : x_(xx), z_(zz), y_(yy) {};
  13.     double& x(){return x_; };
  14.     double& y() { return y_; };
  15.     double& z() { return z_; };
  16.     const double& x() const { return x_; };
  17.     const double& y() const { return y_; };
  18.     const double& z() const { return z_; };
  19. };
  20.  
  21. class prostokat {
  22. private:
  23.     double a_, b_;
  24.     punkt p1;
  25. public:
  26.     prostokat() : a_(0), b_(0), p1() {};
  27.     prostokat(const double& x, const double& y, const double& z, const double& a, const double& b) : a_(a), b_(b), p1(x, y, z) {};
  28.     prostokat(const punkt& p, const double& a, const double& b) : p1(p), a_(a), b_(b) {};
  29.     double& x() { return p1.x(); };
  30.     double& y() { return p1.y(); };
  31.     double& z() { return p1.z(); };
  32.     double& a() { return a_; };
  33.     double& b() { return b_; };
  34.     const double& x() const { return p1.x(); };
  35.     const double& y() const { return p1.y(); };
  36.     const double& z() const { return p1.z(); };
  37.     const double& a() const { return a_; };
  38.     const double& b() const { return b_; };
  39.     double pole() const {return a_ * b_; };
  40.  
  41. };
  42.  
  43. class graniastoslup {
  44. private:
  45.     double h_;
  46.     prostokat prstk;
  47. public:
  48.     graniastoslup(): h_(0), prstk() {};
  49.     graniastoslup(const double& xx, const double& yy, const double& zz, const double& a, const double& b, const double& h) : h_(h), prstk(xx, yy, zz, a, b) {};
  50.     graniastoslup(const punkt punkt, const double& a, const double& b, const double& h) : prstk(punkt, a, b), h_(h) {};
  51.     graniastoslup(const prostokat pr, double h) : h_(h), prstk(pr) {};
  52.     const double& x() const{ return prstk.x(); };
  53.     const double& y() const{ return prstk.y(); };
  54.     const double& z() const{ return prstk.z(); };
  55.     const double& a() const {return prstk.a();};
  56.     const double& b() const { return prstk.b(); };
  57.     const double& h() const { return h_; };
  58.     double& x() { return prstk.x(); };
  59.     double& y() { return prstk.y(); };
  60.     double& z() { return prstk.z(); };
  61.     double& a() { return prstk.a(); };
  62.     double& b() { return prstk.b(); };
  63.     double& h() { return h_; };
  64.     double objetosc() const{ return prstk.pole() * h_; };
  65.  
  66. };
  67.  
  68. int main() {
  69.     punkt p1, p2(1, 2, 3);
  70.     const punkt p3(1.1, 2.2, 3.3);
  71.     cout << p3.x() << '\t' << p3.y() << '\t' << p3.z() << endl;
  72.     p1.x() = 1; p1.y() = 10; p1.x() = 100;
  73.     cout << p1.x() << '\t' << p1.y() << '\t' << p1.z() << endl;
  74.  
  75.     prostokat pr1, pr2(1, 2, 3, 10.5, 20.5);
  76.     const prostokat pr3(p2, 5, 5);
  77.     cout << pr3.x() << '\t' << pr3.y() << '\t' << pr3.z() << '\n' << pr3.a() << '\t' << pr3.b() << endl;
  78.     cout << pr3.pole() << endl;
  79.     pr1.x() = 2; pr1.y() = 20; pr1.x() = 200; pr1.a() = 10; pr1.b() = 10;
  80.     cout << pr1.x() << '\t' << pr1.y() << '\t' << pr1.z() << '\n';
  81.     cout << pr1.a() << '\t' << pr1.b() << "\n";
  82.     cout << pr1.pole() << endl;
  83.    
  84.     graniastoslup g1, g2(1, 2, 3, 10.5, 20.5, 30.5), g3(p2, 100, 200, 300);
  85.     const graniastoslup g4(pr3, 5);
  86.  
  87.     cout << g4.x() << '\t' << g4.y() << '\t' << g4.z() << '\n'
  88.         << g4.a() <<'\t' << g4.b() << '\t' << g4.h() << '\n'
  89.         << g4.objetosc() << endl;
  90.     g1.a() = 10; g1.b() = 10; g1.h() = 10;
  91.     cout << g1.x() << '\t' << g1.y() << '\t' << g1.z() << '\n'
  92.         << g1.a() << '\t' << g1.b() << '\t' << g1.h() << '\n'
  93.         << g1.objetosc() << endl;
  94.  
  95.     system("pause");
  96.     return 0;
  97. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement