Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- class Complex
- {
- private:
- double real, unreal;
- public:
- Complex(double real, double unreal)
- {
- this->real = real;
- this->unreal = unreal;
- }
- Complex(double real) : Complex(real, 1.0) {}
- Complex() :Complex(0., 0.) {}
- ~Complex() {}
- double getReal() const { return real; }
- double getUnreal() const { return unreal; }
- void setReal(double real) { this->real = real; }
- void setUnreal(double unreal) { this->unreal = unreal; }
- //overloads
- Complex operator+(Complex& c)
- {
- Complex result(real + c.real, unreal + c.unreal);
- return result;
- }
- Complex operator-(Complex& c)
- {
- Complex result(real - c.real, unreal - c.unreal);
- return result;
- }
- Complex operator*(Complex& c)
- {
- double cReal = c.real, cUnreal = c.unreal;
- Complex result(real * cReal - unreal * cUnreal, real * cUnreal + cReal * unreal);
- return result;
- }
- Complex operator/(Complex& c)
- {
- double cReal = c.real, cUnreal = c.unreal;
- Complex result((real * cReal + unreal * cUnreal) / (cReal * cReal + cUnreal * cUnreal), (cReal * unreal - real * cUnreal) / (cReal * cReal + cUnreal * cUnreal));
- return result;
- }
- // operations with array
- Complex sum(Complex *arr, size_t s)
- {
- Complex res = 0;
- for (size_t i = 0; i < s; ++i) res = res + arr[i];
- return res;
- }
- Complex dif(Complex* arr, size_t s)
- {
- Complex res = 0;
- for (size_t i = 0; i < s; ++i) res = res - arr[i];
- return res;
- }
- Complex compos(Complex* arr, size_t s)
- {
- Complex res(1., 1.);
- for (size_t i = 0; i < s; ++i) res = res * arr[i];
- return res;
- }
- Complex div(Complex* arr, size_t s)
- {
- Complex res(1., 1.);
- for (size_t i = 0; i < s; ++i) res = res / arr[i];
- return res;
- }
- };
- std::ostream& operator<<(std::ostream& out, const Complex& c)
- {
- double Real = c.getReal(), Unreal = c.getUnreal();
- if (Unreal >= 0) return out << Real << " + " << Unreal << "i";
- else return out << Real << " - " << -Unreal << "i";
- }
- int main()
- {
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement