MeehoweCK

Untitled

May 8th, 2021
1,062
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.78 KB | None | 0 0
  1. #include <iostream>
  2.  
  3. using namespace std;
  4.  
  5. class Punkt
  6. {
  7.     friend ostream& operator<<(ostream&, const Punkt&);
  8.     double X;
  9.     double Y;
  10. public:
  11.     Punkt(double, double);
  12. };
  13.  
  14. class Kwadrat
  15. {
  16.     friend Kwadrat operator+(const Kwadrat, const Kwadrat);
  17.     friend Kwadrat operator-(const Kwadrat, const Kwadrat);
  18.     friend ostream& operator<<(ostream&, const Kwadrat&);
  19.     Punkt LewoGora;
  20.     double Bok;
  21. public:
  22.     Kwadrat(Punkt, double);
  23. };
  24.  
  25. Punkt::Punkt(double x, double y) : X(x), Y(y) {}
  26.  
  27. Kwadrat operator+(const Kwadrat A, const Kwadrat B)
  28. {
  29.     return Kwadrat(A.LewoGora, A.Bok + B.Bok);
  30. }
  31.  
  32. Kwadrat operator-(const Kwadrat A, const Kwadrat B)
  33. {
  34.     double roznica = A.Bok - B.Bok;
  35.     if(roznica < 0)
  36.         roznica *= -1;
  37.     return Kwadrat(B.LewoGora, roznica);
  38. }
  39.  
  40. ostream& operator<<(ostream& os, const Punkt& p)
  41. {
  42.     os << '(' << p.X << ',' << p.Y << ')';
  43.     return os;
  44. }
  45.  
  46. ostream& operator<<(ostream& os, const Kwadrat& kw)
  47. {
  48.     os << "Kwadrat o lewym gornym boku " << kw.LewoGora << " i boku o dlugosci " << kw.Bok;
  49.     return os;
  50. }
  51.  
  52. Kwadrat::Kwadrat(Punkt p, double b) : LewoGora(p), Bok(b) {}
  53.  
  54. int main()
  55. {
  56.     double Ax, Ay, Bx, By, K1y, K2y;
  57.  
  58.     cout << "Podaj wspolrzedne punktu A: ";
  59.     cin >> Ax >> Ay;
  60.     cout << "Podaj wspolrzedne punktu B: ";
  61.     cin >> Bx >> By;
  62.     cout << "Podaj dlugosc boku kwadratu 1: ";
  63.     cin >> K1y;
  64.     cout << "Podaj dlugosc boku kwadratu 2: ";
  65.     cin >> K2y;
  66.  
  67.     Punkt A(Ax, Ay);
  68.     Punkt B(Bx, By);
  69.     Kwadrat k1(A, K1y);
  70.     Kwadrat k2(B, K2y);
  71.     Kwadrat ks1 = k1 + k2;
  72.     cout << ks1 << endl;
  73.     Kwadrat ks2 = k2 + k1;
  74.     cout << ks2 << endl;
  75.     Kwadrat kr1 = k1 - k2;
  76.     cout << kr1 << endl;
  77.     Kwadrat kr2 = k2 - k1;
  78.     cout << kr2 << endl;
  79.     return 0;
  80. }
Advertisement
Add Comment
Please, Sign In to add comment