Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /*Complex Conjugate()
- {
- Complex result;
- //Complex result(RealPart,-ImaginaryPart);
- result.ImaginaryPart = -ImaginaryPart;
- return result;*/
- #include <iostream>
- using namespace std;
- class Complex
- {
- private:
- double RealPart;
- double ImaginaryPart;
- public:
- Complex(): RealPart(1), ImaginaryPart(1)
- {
- }
- Complex Conjugate ()
- {
- Complex a; //!!!
- a.ImaginaryPart = -ImaginaryPart;
- return a;
- }
- void Print()
- {
- cout << "Complex number is: " << RealPart;
- if (ImaginaryPart != 0)
- {
- if (ImaginaryPart > 0) cout << " + " << ImaginaryPart << "i" << endl;
- else
- cout << ImaginaryPart << "i" << endl;
- }
- }
- int Compare(Complex b)
- {
- if (this->RealPart > b.RealPart)
- return -1;
- else if (this->RealPart < b.RealPart)
- return 1;
- else if (this->ImaginaryPart > b.ImaginaryPart)
- return -1;
- else if (this->ImaginaryPart < b.ImaginaryPart)
- return 1;
- else return 0;
- }
- bool equal (Complex a)
- {
- if (this->RealPart == a.RealPart && this->ImaginaryPart == a.ImaginaryPart)
- return true;
- else return false;
- }
- Complex operator + (Complex a)
- {
- Complex answer;
- answer.RealPart = RealPart + a.RealPart;
- answer.ImaginaryPart = ImaginaryPart + a.ImaginaryPart;
- return answer;
- }
- Complex operator - (Complex a)
- {
- Complex answer;
- answer.RealPart = RealPart - a.RealPart;
- answer.ImaginaryPart = ImaginaryPart - a.ImaginaryPart;
- return answer;
- }
- Complex operator * (Complex a)
- {
- Complex answer;
- answer.RealPart = RealPart * a.RealPart - ImaginaryPart * a.ImaginaryPart;
- answer.ImaginaryPart = - (RealPart * a.ImaginaryPart + ImaginaryPart * a.RealPart);
- return answer;
- }
- /*Complex operator + (Complex a)
- {
- return Complex(RealPart + a.RealPart,ImaginaryPart + a.ImaginaryPart);
- }*/
- Complex operator / (Complex a)
- {
- Complex answer;
- answer.RealPart = (RealPart * a.RealPart + ImaginaryPart * a.ImaginaryPart) /
- (a.RealPart * a.RealPart + a.ImaginaryPart * a.ImaginaryPart);
- answer.ImaginaryPart = (a.RealPart * ImaginaryPart - a.ImaginaryPart * RealPart) /
- (a.RealPart * a.RealPart + a.ImaginaryPart * a.ImaginaryPart);
- return answer;
- }
- void setRealPart (double a)
- {
- RealPart = a;
- }
- void setImaginaryPart (double a)
- {
- ImaginaryPart = a;
- }
- };
- int main ()
- {
- Complex z;
- z.Print();
- double a;
- cout << "Enter Real Part: " << endl;
- cin >> a;
- z.setRealPart(a);
- double b;
- cout << "Enter Imaginary Part: " << endl;
- cin >> b;
- z.setImaginaryPart(b);
- z.Print();
- Complex u = z.Conjugate();
- u.Print();
- cout << "Compare the numbers " << z.Compare(u) << endl;
- cout <<"Equal the numbers " << z.equal(u) << endl;
- Complex q;
- double c;
- cout << "Enter Real Part of the second number: " << endl;
- cin >> c;
- q.setRealPart(c);
- double d;
- cout << "Enter Imaginary Part of the second number: " << endl;
- cin >> d;
- q.setImaginaryPart(d);
- q.Print();
- Complex w = z + q;
- w.Print ();
- Complex r = z - q;
- r.Print ();
- Complex h = z * q;
- h.Print ();
- Complex s = z / q;
- s.Print ();
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement