Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <math.h>
- using namespace std;
- class Complex
- {
- protected:
- float re, im;
- public:
- Complex(float Re, float Im):re(Re), im(Im){}
- Complex() :re(0.), im(0.){}
- friend istream& operator >> (istream& s, Complex& C) { return s >> C.re >> C.im; }
- friend ostream& operator << (ostream& s, Complex C) { return s << "(" << C.re << "," << C.im << "i" << ")" << endl; }
- Complex operator * (float k) { Complex A; A.re = re*k; A.im = im*k; return A;}
- Complex& operator *= (Complex A) { im *= A.im, re *= A.re; return *this; }
- };
- class Complex_arr : public Complex
- {
- private:
- Complex* a;
- int len;
- public:
- Complex_arr(int Len) { a = new Complex[Len], len = Len; }
- friend istream& operator >> (istream& s, Complex_arr& C) { for (int i = 0; i < C.len; i++) s >> C.a[i]; return s; }
- friend ostream& operator << (ostream& s, Complex_arr C) { for (int i = 0; i < C.len; i++) s << C.a[i]; s << endl; return s; }
- Complex_arr& operator *= (Complex_arr A) { for (int i = 0; i < len; i++) a[i] *= A.a[i]; return *this; }
- };
- int main()
- {
- int l;
- float N;
- Complex A(1, 1), B, C;
- cout << "Input complex number (B) and real number N: ";
- cin >> B >> N;
- C = A * N;
- cout << "B*N is " << (B * N) << endl << "A*N is " << C << endl;
- cout << "Input arrays length: ";
- cin >> l;
- Complex_arr D(l), E(l);
- cout << "Input arrays. \n";
- cin >> D >> E;
- cout << "D and E\n" << D << E;
- cout << "D*=E is \n" << (D *= E);
- cout << "Now D is \n" << D;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement