Advertisement
myname0

class

Apr 21st, 2015
237
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 4.77 KB | None | 0 0
  1.         /*Complex Conjugate()
  2.         {
  3.             Complex result;
  4.             //Complex result(RealPart,-ImaginaryPart);
  5.             result.ImaginaryPart = -ImaginaryPart;
  6.             return result;*/
  7.        
  8. #include <iostream>
  9.  
  10. using namespace std;
  11.  
  12. class Complex
  13. {
  14.         private:
  15.  
  16.                 double RealPart;
  17.                 double ImaginaryPart;
  18.  
  19.         public:
  20.  
  21.                 Complex(): RealPart(1), ImaginaryPart(1)
  22.                 {              
  23.                 }
  24.  
  25.                 Complex Conjugate ()
  26.                 {        
  27.                         Complex a;    //!!!
  28.                         a.ImaginaryPart = -ImaginaryPart;
  29.                         return a;
  30.                 }
  31.  
  32.                 void Print()
  33.                 {
  34.                         cout << "Complex number is: " << RealPart;
  35.                         if (ImaginaryPart != 0)
  36.                         {
  37.                                 if (ImaginaryPart > 0) cout << " + " << ImaginaryPart << "i" << endl;
  38.                                 else
  39.                                 cout << ImaginaryPart << "i" << endl;
  40.                         }
  41.                 }
  42.  
  43.                  int Compare(Complex b)
  44.                  {
  45.                         if (this->RealPart > b.RealPart)
  46.                                 return -1;
  47.                         else if (this->RealPart < b.RealPart)
  48.                                 return 1;
  49.                         else if (this->ImaginaryPart > b.ImaginaryPart)
  50.                                 return -1;
  51.                         else if (this->ImaginaryPart < b.ImaginaryPart)
  52.                                 return 1;
  53.                         else return 0;
  54.                  }
  55.                  bool equal (Complex a)
  56.                  {
  57.                     if (this->RealPart == a.RealPart && this->ImaginaryPart == a.ImaginaryPart)
  58.                         return true;
  59.                     else return false;
  60.                  }
  61.  
  62.                 Complex operator + (Complex a)
  63.                 {
  64.                         Complex answer;
  65.                         answer.RealPart = RealPart + a.RealPart;
  66.                         answer.ImaginaryPart = ImaginaryPart + a.ImaginaryPart;
  67.                         return answer;
  68.                 }
  69.  
  70.                 Complex operator - (Complex a)
  71.                 {
  72.                         Complex answer;
  73.                         answer.RealPart = RealPart - a.RealPart;
  74.                         answer.ImaginaryPart = ImaginaryPart - a.ImaginaryPart;
  75.                         return answer;
  76.                 }
  77.  
  78.                 Complex operator * (Complex a)
  79.                 {
  80.                         Complex answer;
  81.                         answer.RealPart = RealPart * a.RealPart - ImaginaryPart * a.ImaginaryPart;
  82.                         answer.ImaginaryPart = - (RealPart * a.ImaginaryPart + ImaginaryPart * a.RealPart);
  83.                         return answer;
  84.                 }
  85.  
  86.  
  87.         /*Complex operator + (Complex a)
  88.                 {                      
  89.                         return Complex(RealPart + a.RealPart,ImaginaryPart + a.ImaginaryPart);
  90.                 }*/
  91.  
  92.  
  93.                 Complex operator / (Complex a)
  94.                 {
  95.                         Complex answer;
  96.                         answer.RealPart = (RealPart * a.RealPart + ImaginaryPart * a.ImaginaryPart) /
  97.                                 (a.RealPart * a.RealPart + a.ImaginaryPart * a.ImaginaryPart);
  98.                         answer.ImaginaryPart = (a.RealPart * ImaginaryPart - a.ImaginaryPart * RealPart) /
  99.                                 (a.RealPart * a.RealPart + a.ImaginaryPart * a.ImaginaryPart);
  100.                         return answer;
  101.                 }
  102.  
  103.                 void setRealPart (double a)
  104.                 {
  105.                         RealPart = a;
  106.                 }
  107.  
  108.                 void setImaginaryPart (double a)
  109.                 {
  110.                        ImaginaryPart = a;
  111.                 }
  112. };
  113.  
  114. int main ()
  115. {
  116.         Complex z;
  117.         z.Print();
  118.         double a;
  119.         cout << "Enter Real Part: " << endl;
  120.         cin >> a;
  121.         z.setRealPart(a);
  122.         double b;
  123.         cout << "Enter Imaginary Part: " << endl;
  124.         cin >> b;
  125.         z.setImaginaryPart(b);
  126.         z.Print();
  127.         Complex u = z.Conjugate();
  128.         u.Print();
  129.         cout << "Compare the numbers " << z.Compare(u) << endl;
  130.         cout <<"Equal the numbers " << z.equal(u) << endl;
  131.         Complex q;  
  132.         double c;
  133.         cout << "Enter Real Part of the second number: " << endl;
  134.         cin >> c;
  135.         q.setRealPart(c);
  136.         double d;
  137.         cout << "Enter Imaginary Part of the second number: " << endl;
  138.         cin >> d;
  139.         q.setImaginaryPart(d);
  140.         q.Print();
  141.         Complex w = z + q;
  142.         w.Print ();
  143.         Complex r = z - q;
  144.         r.Print ();
  145.         Complex h = z * q;
  146.         h.Print ();
  147.         Complex s = z / q;
  148.         s.Print ();
  149.         return 0;
  150. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement