Advertisement
a53

oop_numere_complexe

a53
May 23rd, 2020
177
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.30 KB | None | 0 0
  1. Complex::Complex() /// constructor creeaza numarul complex nul
  2. {
  3. r=0;
  4. i=0;
  5. }
  6.  
  7. Complex::Complex(int pr,int pi) /// constructor stabileste valoare partii reale si a celei imaginare
  8. {
  9. r=pr;
  10. i=pi;
  11. }
  12.  
  13. void Complex::set(int pr,int pi) /// seteaza valorile partii reale si a celei imaginare
  14. {
  15. r=pr;
  16. i=pi;
  17. }
  18.  
  19. double Complex::modul()
  20. {
  21. return sqrt(r*r+i*i);
  22. }
  23.  
  24. int Complex::real() /// returneaza partea reala
  25. {
  26. return r;
  27. }
  28.  
  29. int Complex::imag() /// returneaza partea imaginara
  30. {
  31. return i;
  32. }
  33.  
  34. ostream& operator<<(ostream& out, const Complex& c) /// supraincarcare operator pentru afisarea numarului complex
  35. {
  36. if(c.r!=0||c.i==0)
  37. out <<c.r;
  38. if(c.i>0&&c.r!=0)
  39. out<<"+";
  40. if(c.i!=0)
  41. out<<c.i<<"i";
  42. return out;
  43. }
  44.  
  45. Complex Complex::operator +(Complex b) /// supraincarcare operator adunare
  46. {
  47. Complex c;
  48. c.set(this->r+b.real(),this->i+b.imag());
  49. return c;
  50. }
  51.  
  52. Complex Complex::operator -(Complex b) /// supraincarcare operator scadere
  53. {
  54. Complex c;
  55. c.set(this->r-b.real(),this->i-b.imag());
  56. return c;
  57. }
  58.  
  59. Complex Complex::operator *(Complex b) /// supraincarcare operator inmultire
  60. {
  61. Complex c;
  62. c.set(this->r*b.real()-this->i*b.imag(),this->i*b.real()+this->r*b.imag());
  63. return c;
  64. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement