Facebook
From Cobalt Bird, 6 Years ago, written in Plain Text.
Embed
Download Paste or View Raw
Hits: 295
  1. #include <iostream>
  2.  
  3. using namespace std;
  4.  
  5. class punkt
  6. {
  7.     double _x,_y,_z;
  8.  
  9. public:
  10.  
  11.     punkt(): _x(0),_y(0),_z(0){}
  12.     punkt(double x,double y,double z): _x(x),_y(y),_z(z){}
  13.  
  14.     const double& x()const{return _x;}
  15.         double &x(){return _x;}
  16.     const double& y()const{return _y;}
  17.         double &y(){return _y;}
  18.     const double& z()const{return _z;}
  19.         double &z(){return _z;}
  20. };
  21.  
  22. class prostokat
  23. {
  24.     double _a,_b;
  25.     punkt _p;
  26.  
  27. public:
  28.  
  29.     prostokat():_a(0),_b(0) {}
  30.     prostokat(double x,double y,double z,double a,double b):_p(x,y,z),_a(a),_b(b){}
  31.     prostokat(const punkt& p,double a,double b): _p(p),_a(a),_b(b){}
  32.  
  33.     const double& x()const{return _p.x();}
  34.         double& x(){return _p.x();}
  35.     const double& y()const{return _p.y();}
  36.         double& y(){return _p.y();}
  37.     const double& z()const{return _p.z();}
  38.         double& z(){return _p.z();}
  39.     const double& a()const{return _a;}
  40.         double& a(){return _a;}
  41.     const double& b()const{return _b;}
  42.         double& b(){return _b;}
  43.  
  44.     double pole()const {return _a*_b;}
  45. };
  46.  
  47. class graniastoslup
  48. {
  49.     prostokat _p;
  50.     double _h;
  51.  
  52. public:
  53.  
  54.     graniastoslup(): _h(0){}
  55.     graniastoslup(double x,double y,double z,double a,double b,double h): _p(x,y,z,a,b),_h(h){}
  56.     graniastoslup(const punkt& p,double a,double b,double h): _p(p,a,b),_h(h){}
  57.     graniastoslup(const prostokat& p,double h): _p(p),_h(h){}
  58.  
  59.     const double& x()const{return _p.x();}
  60.         double& x(){return _p.x();}
  61.     const double& y()const{return _p.y();}
  62.         double& y(){return _p.y();}
  63.     const double& z()const{return _p.z();}
  64.         double& z(){return _p.z();}
  65.     const double& a()const{return _p.a();}
  66.         double& a(){return _p.a();}
  67.     const double& b()const{return _p.b();}
  68.         double& b(){return _p.b();}
  69.     const double& h()const{return _h;}
  70.         double& h(){return _h;}
  71.  
  72.     double objetosc()const{return _p.pole()*_h;}
  73. };
  74.  
  75. int main()
  76. {
  77.  
  78. punkt p1, p2(1,2,3);
  79. const punkt p3(1.1,2.2,3.3);
  80. // kod sprawdzajacy punkt
  81. cout << p3.x() << '\t' << p3.y() << '\t' << p3.z() << endl;
  82. p1.x()=1; p1.y()=10; p1.z()=100;
  83. cout << p1.x() << '\t' << p1.y() << '\t' << p1.z() << endl;
  84.  
  85. //kod sprawdzajacy prostokat
  86.  
  87. prostokat pr1, pr2(1,2,3,10.5, 20.5);
  88. const prostokat pr3(p2,5,5);
  89.  
  90. cout << pr3.x() << '\t' << pr3.y() << '\t' << pr3.z() << '\n'
  91.  << pr3.a() << '\t' << pr3.b()<< '\n'
  92.  << pr3.pole() << endl;
  93. pr1.x()=2; pr1.y()=20; pr1.z()=200; pr1.a()= 10; pr1.b()=10;
  94. cout << pr1.x() << '\t' << pr1.y() << '\t' << pr1.z() << '\n'
  95.  << pr1.a() << '\t' << pr1.b()<< '\n'
  96.  << pr1.pole() << endl;
  97.  
  98. //kod sprawdzajacy graniastoslup
  99.  
  100. graniastoslup g1, g2(1,2,3,10.5,20.5,30.5), g3(p2,100,200,300);
  101. const graniastoslup g4(pr3,5);
  102. cout << g4.x() << '\t' << g4.y() << '\t' << g4.z() << '\n'
  103.  << g4.a() << '\t' << g4.b() << '\t' << g4.h() << '\n'
  104.  << g4.objetosc() << endl;
  105. g1.a()=10; g1.b()=10; g1.h()=10;
  106. cout << g1.x() << '\t' << g1.y() << '\t' << g1.z() << '\n'
  107.  << g1.a() << '\t' << g1.b() << '\t' << g1.h() << '\n'
  108.  << g1.objetosc() << endl;
  109.  
  110.  
  111.     return 0;
  112. }