Advertisement
Guest User

Untitled

a guest
Nov 9th, 2019
129
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.49 KB | None | 0 0
  1. Обчислити значення виразу y=a*x2+b*x+c для комплексних коефіцієнтів a, b, c у комплексній точці x. #include <iostream> #include <assert.h>
  2.  
  3. using namespace std;
  4. // клас для роботи з комплексними числами class complex { // re – дійсна, im – уявна частини комплексного числа double re, im;
  5.  
  6. public: // конструктор complex(double=0,double=0); // деструктор ~complex(); // перевантажені операції complex operator+(complex&); complex operator-(complex&); complex operator*(complex&); complex operator/(complex&); complex operator^(unsigned); friend istream& operator>>(istream&,complex&); friend ostream& operator<<(ostream&,complex&); };
  7.  
  8. complex::complex(double r, double i) { re=r; im=i; }
  9.  
  10. 541
  11. complex::~complex() { }
  12.  
  13. complex complex::operator+(complex& y) { return complex(re+y.re, im+y.im); }
  14.  
  15. complex complex::operator-(complex& y) { return complex(re-y.re, im-y.im); }
  16.  
  17. complex complex::operator*(complex& y) { return complex(re*y.re-im*y.im, re*y.im+im*y.re); }
  18.  
  19. complex complex::operator/(complex& y) { double r1=re; double i1=im; double r2=y.re; double i2=y.im; return complex((r1*r2-i1*i2)/(r2*r2+i2*i2), (-r1*i2+i1*r2)/(r2*r2+i2*i2)); }
  20.  
  21. complex complex::operator^(unsigned n) { complex y(1,0); for(int i=1;i<=n;i++) y=y*(*this); return y; }
  22.  
  23. istream& operator>>(istream& is, complex& x) { char c; cin>>c; assert(c=='('); cin>>x.re; cin>>c; assert(c==','); cin>>x.im; cin>>c; assert(c==')'); return is; }
  24. 542
  25.  
  26. ostream& operator<<(ostream& os, complex& x) { os<<'('<<x.re<<','<<x.im<<')'<<endl; return os; }
  27. // головна функція void main() { // об’єкти класу complex a(1,1); complex b(1,1); complex c(1,1); complex x; // введення об’єкта з клавіатури cout<<"Введіть комплексне число у форматі: (re,im) ->"; cin>>x; // обчислення виразу над комплексними числами та // виведення результату на екран cout<<"Результат = "<<a*(x^2)+b*x+c<<endl; }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement