MeehoweCK

Untitled

Mar 19th, 2021
1,120
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 2.70 KB | None | 0 0
  1. // zadanie 1.
  2. #include <iostream>
  3.  
  4. using namespace std;
  5.  
  6. const double PI = 3.14159;
  7.  
  8. class Okrag
  9. {
  10.     double x;
  11.     double p;
  12. public:
  13.     double get_x() const;
  14.     double get_p() const;
  15.     void set_x(double);
  16.     void set_p(double);
  17.     double obwod() const;
  18. };
  19.  
  20. double Okrag::get_x() const
  21. {
  22.     return x;
  23. }
  24.  
  25. double Okrag::get_p() const
  26. {
  27.     return p;
  28. }
  29.  
  30. void Okrag::set_x(double nx)
  31. {
  32.     x = nx;
  33. }
  34.  
  35. void Okrag::set_p(double np)
  36. {
  37.     p = np;
  38. }
  39.  
  40. double Okrag::obwod() const
  41. {
  42.     return 2 * PI * p;
  43. }
  44.  
  45. bool okregi_wewnatrz(Okrag A, Okrag B)
  46. {
  47.     double d = A.get_x() - B.get_x();
  48.     if(d < 0)
  49.         d = -d;
  50.     double roznica = A.get_p() - B.get_p();
  51.     if(roznica < 0)
  52.         roznica = -roznica;
  53.     if(d <= roznica)
  54.         return true;
  55.     return false;
  56. }
  57.  
  58. int main()
  59. {
  60.     Okrag A, B;
  61.     double x, p;
  62.     cout << "Podaj polozenie (X) i promien pierwszego okregu: ";
  63.     cin >> x >> p;
  64.     A.set_x(x);
  65.     A.set_p(p);
  66.     cout << "Podaj polozenie (X) i promien drugiego okregu: ";
  67.     cin >> x >> p;
  68.     B.set_x(x);
  69.     B.set_p(p);
  70.     if(okregi_wewnatrz(A, B))
  71.         cout << "Te dwa okregi zawieraja sie w sobie\n";
  72.     else
  73.         cout << "Te dwa okregi nie zawieraja sie w sobie\n";
  74.     return 0;
  75. }
  76.  
  77. // zadanie 2.
  78. #include <iostream>
  79.  
  80. using namespace std;
  81.  
  82. const double PI = 3.14159;
  83.  
  84. class Okrag
  85. {
  86.     double x;
  87.     double p;
  88. public:
  89.     Okrag(double, double);
  90.     ~Okrag();
  91.     double get_x() const;
  92.     double get_p() const;
  93.     void set_x(double);
  94.     void set_p(double);
  95.     double obwod() const;
  96. };
  97.  
  98. Okrag::Okrag(double nx, double np) : x(nx), p(np)
  99. {
  100.     cout << "Jestem okregiem z punktu (" << nx << ",0) o promieniu " << np << ".\n";
  101. }
  102.  
  103. Okrag::~Okrag()
  104. {
  105.     cout << "Okrag z punktu (" << x << ",0) o dlugosci " << obwod() << " znika.\n";
  106. }
  107.  
  108. double Okrag::get_x() const
  109. {
  110.     return x;
  111. }
  112.  
  113. double Okrag::get_p() const
  114. {
  115.     return p;
  116. }
  117.  
  118. void Okrag::set_x(double nx)
  119. {
  120.     x = nx;
  121. }
  122.  
  123. void Okrag::set_p(double np)
  124. {
  125.     p = np;
  126. }
  127.  
  128. double Okrag::obwod() const
  129. {
  130.     return 2 * PI * p;
  131. }
  132.  
  133. int ile_razy(Okrag* A, Okrag* B)
  134. {
  135.     double obw_a = A->get_p();
  136.     double obw_b = B->get_p();
  137.  
  138.     if(obw_a > obw_b)
  139.         return obw_a / obw_b;
  140.     return obw_b / obw_a;
  141. }
  142.  
  143. int main()
  144. {
  145.     double x, p;
  146.     cout << "Podaj polozenie (X) i promien pierwszego okregu: ";
  147.     cin >> x >> p;
  148.     Okrag* A = new Okrag(x, p);
  149.     cout << "Podaj polozenie (X) i promien drugiego okregu: ";
  150.     cin >> x >> p;
  151.     Okrag* B = new Okrag(x, p);
  152.  
  153.     cout << "Obwod jednego okregu miesci sie " << ile_razy(A, B) << " razy w obwodzie drugiego okregu.\n";
  154.     delete A;
  155.     delete B;
  156.     return 0;
  157. }
Advertisement
Add Comment
Please, Sign In to add comment