Facebook
From Bistre Hummingbird, 4 Years ago, written in Plain Text.
Embed
Download Paste or View Raw
Hits: 127
  1. #include <iostream>
  2.  
  3. using namespace std;
  4.  
  5. class Zespolona
  6. {public:
  7.     double re , im;
  8.  
  9.     Zespolona(double r = 0, double i = 0)
  10.     {
  11.         re = r;
  12.         im = i;
  13.     }
  14.  
  15.     void print()
  16.     {
  17.         if(im>=0)
  18.             cout<<re<<"+"<<im<<"*i"<<endl;
  19.         else
  20.             cout<<re<<im<<"*i"<<endl;
  21.     }
  22.  
  23.  
  24.     Zespolona operator+ (const Zespolona & z)
  25.     {
  26.         return Zespolona(re+z.re, im+z.im);
  27.     }
  28.  
  29.     Zespolona operator- (const Zespolona &z)
  30.     {
  31.         return Zespolona(re-z.re , im-z.im);
  32.     }
  33.  
  34.     Zespolona operator* (const Zespolona& z)
  35.     {
  36.         return Zespolona(re*z.re-im*z.im,re*z.im+im*z.re);
  37.     }
  38.  
  39.     Zespolona operator/ (const Zespolona &z)
  40.     {
  41.         Zespolona wynik;
  42.         double x = z.re * z.re + z.im * z.im;
  43.         if (x>0)
  44.         {
  45.              wynik.re = (re * z.re + im * z.im)/x;
  46.              wynik.im = (z.re * im - re * z.im)/x;
  47.              return wynik;
  48.         }
  49.     }
  50.  
  51.     Zespolona operator+ (const int x)
  52.     {
  53.         return Zespolona(re+x,im);
  54.     }
  55.  
  56.     bool operator == (const Zespolona &z)
  57.     {
  58.         if((re == z.re) && (im == z.im))
  59.             return true;
  60.         else
  61.             return false;
  62.     }
  63.  
  64. };
  65.  
  66.  
  67. int main()
  68. {
  69. Zespolona z1(2,3), z2(3,1), z3(5),z4,z5;
  70. z4= (z1*z3)/(z3+z4) ;
  71. z5=(z1/z2)-z3;
  72. z4.print(); z5.print();
  73. z4=z4+5;
  74. if (z4==z5) {z4.print();};
  75.  
  76.  
  77.  
  78.  
  79.     return 0;
  80. }
  81.