Advertisement
CosmicFox33

KR1.15

Mar 14th, 2022
614
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.56 KB | None | 0 0
  1. #include <iostream>
  2. #include <math.h>
  3.  
  4. using namespace std;
  5.  
  6. class Complex
  7. {
  8. protected:
  9.     float re, im;
  10. public:
  11.     Complex(float Re, float Im):re(Re), im(Im){}
  12.     Complex() :re(0.), im(0.){}
  13.     friend istream& operator >> (istream& s, Complex& C) { return s >> C.re >> C.im; }
  14.     friend ostream& operator << (ostream& s, Complex C) { return s << "(" << C.re << "," << C.im << "i" << ")" << endl; }
  15.     Complex operator * (float k) { Complex A; A.re = re*k; A.im = im*k; return A;}
  16.     Complex& operator *= (Complex A) { im *= A.im, re *= A.re; return *this; }
  17. };
  18.  
  19. class Complex_arr : public Complex
  20. {
  21. private:
  22.     Complex* a;
  23.     int len;
  24. public:
  25.     Complex_arr(int Len) { a = new Complex[Len], len = Len; }
  26.     friend istream& operator >> (istream& s, Complex_arr& C) { for (int i = 0; i < C.len; i++) s >> C.a[i]; return s; }
  27.     friend ostream& operator << (ostream& s, Complex_arr C) { for (int i = 0; i < C.len; i++) s << C.a[i]; s << endl; return s; }
  28.     Complex_arr& operator *= (Complex_arr A) { for (int i = 0; i < len; i++) a[i] *= A.a[i]; return *this; }
  29.  
  30. };
  31.  
  32.  
  33. int main()
  34. {
  35.     int l;
  36.     float N;
  37.     Complex A(1, 1), B, C;
  38.     cout << "Input complex number (B) and real number N: ";
  39.     cin >> B >> N;
  40.     C = A * N;
  41.     cout << "B*N is " << (B * N) << endl << "A*N is " << C << endl;
  42.     cout << "Input arrays length: ";
  43.     cin >> l;
  44.     Complex_arr D(l), E(l);
  45.     cout << "Input arrays. \n";
  46.     cin >> D >> E;
  47.     cout << "D and E\n" << D << E;
  48.     cout << "D*=E is \n" << (D *= E);
  49.     cout << "Now D is \n" << D;
  50.    
  51. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement