Advertisement
Guest User

Untitled

a guest
May 30th, 2016
57
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.93 KB | None | 0 0
  1. #include <cstdlib>
  2. #include <iostream>
  3. #include <math.h>
  4. using namespace std;
  5.  
  6. class Zespolona{
  7. float re,im;
  8. public:
  9. Zespolona ();
  10. Zespolona (float re, float im);
  11. Zespolona operator + (const Zespolona z);
  12. Zespolona operator - (const Zespolona z);
  13. Zespolona operator * (const Zespolona z);
  14. Zespolona operator / (const Zespolona z);
  15. bool operator == (const Zespolona z);
  16. bool operator != (const Zespolona z);
  17. bool operator > (const Zespolona z);
  18. bool operator < (const Zespolona z);
  19. friend ostream& operator << (ostream &wyjscie, const Zespolona z);
  20.  
  21. };
  22.  
  23. Zespolona::Zespolona(){re=0; im=0;}
  24.  
  25. ostream & operator<< (ostream &wyjscie, const Zespolona z)
  26. {
  27. if(z.im>=0)
  28. return wyjscie << z.re << " + j"<<z.im;
  29. else
  30. return wyjscie << z.re << " - j"<<(-z.im);
  31. }
  32.  
  33.  
  34.  
  35.  
  36. Zespolona::Zespolona(float re,float im)
  37. {
  38. this ->re=re; this->im=im; }
  39. Zespolona Zespolona::operator + (const Zespolona z) {
  40. Zespolona wynik (re+z.re,im+z.im);
  41. return wynik;
  42. }
  43.  
  44.  
  45.  
  46. Zespolona Zespolona::operator - (const Zespolona z) {
  47. Zespolona wynik (re-z.re,im-z.im);
  48. return wynik;
  49. }
  50. Zespolona Zespolona::operator * (const Zespolona z) {
  51. Zespolona wynik (re*z.re-im*z.im,im*z.re+re*z.im);
  52. return wynik;
  53. }
  54. Zespolona Zespolona::operator / (const Zespolona z) {
  55. Zespolona wynik ((re*z.re+im*z.im)/((z.re*z.re)+(z.im*z.im)),(z.re*im-re*z.im)/((z.re*z.re)+(z.im*z.im)));
  56. return wynik;
  57. }
  58. bool Zespolona::operator == (const Zespolona z) {
  59. if(re==z.re && im==z.im)
  60. return true;
  61. else
  62. return false;
  63. }
  64. bool Zespolona::operator != (const Zespolona z) {
  65. if(re!=z.re && im!=z.im)
  66. return true;
  67. else
  68. return false;
  69. }
  70. bool Zespolona::operator > (const Zespolona z) {
  71. if(re>z.re && im>z.im)
  72. return true;
  73. else
  74. return false;
  75. }
  76. bool Zespolona::operator < (const Zespolona z) {
  77. if(re<z.re && im<z.im)
  78. return true;
  79. else
  80. return false;
  81. }
  82.  
  83.  
  84.  
  85. int main(int argc, char *argv[])
  86. {
  87.  
  88. Zespolona z1(2,2);
  89. Zespolona z2(2,2);
  90. cout<< "z1: " << z1 << endl;
  91. cout<< "z2: " << z2 << endl;
  92.  
  93. Zespolona z3 = z1+z2;
  94. cout<< "z3: " << z3 << endl;
  95.  
  96. Zespolona z4(12,-2);
  97. cout<< "z4: "<< z4 << endl;
  98.  
  99.  
  100.  
  101. if(z4==z3)
  102. cout<<"z3 jest rowne z4"<<endl;
  103.  
  104. Zespolona z5 = z1-z2;
  105. cout<< "z5: " << z5 << endl;
  106.  
  107. Zespolona z6 = z1*z2;
  108. cout<< "z6: " << z6 << endl;
  109.  
  110. Zespolona z7 = z1/z2;
  111. cout<< "z7: " << z7 << endl;
  112.  
  113.  
  114. if(z4!=z5)
  115. cout<<"z4 nie jest rowne z5"<<endl;
  116.  
  117. if(z4<z3)
  118. cout<<"z4 jest mniejsze od z3"<<endl;
  119.  
  120. if(z5>z3)
  121. cout<<"z5 jest wieksze od z3"<<endl;
  122.  
  123.  
  124. system("PAUSE");
  125. return EXIT_SUCCESS;
  126. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement