profs · // #include"kompl.h" #include #include using namespace std; //kompl.h - Definicija...

4
1. // #include"kompl.h" 2. #include <iostream> 3. #include <cmath> 4. using namespace std; 5. //kompl.h - Definicija klase kompleksnih brojeva 6. class Kompl{ 7. double re,im; //Realni i imaginarni deo 8. public: 9. Kompl(double r=0, double i=0){re=r; im=i;} //Stvaranje kompleksnog broja 10. friend double real(const Kompl& a) //Relni deo 11. {return a.re;} 12. friend double imag (const Kompl& a) //Imaginarni deo 13. {return a.im;} 14. friend double abs(const Kompl& a) //Apsolutna vrednost 15. {return sqrt(a.re*a.re+a.im*a.im);} 16. friend double arg(const Kompl& a) //Argument 17. {return (a.re!=0||a.im!=0)? atan2(a.im,a.re):0;} 18. Kompl operator~ () const // Konjugovani broj. 19. {return Kompl (re, -im);} 20. friend Kompl operator+ ( const Kompl& a, const Kompl& b) //a+b 21. {return Kompl (a.re+b.re, a.im+b.im);} 22. friend Kompl operator- ( const Kompl& a, const Kompl& b) //a-b 23. {return Kompl (a.re-b.re, a.im-b.im);} 24. friend Kompl operator* ( const Kompl& a, const Kompl& b) //a*b 25. {return Kompl (a.re*b.re-a.im*b.im, a.im*b.re+a.re*b.im);} 26. friend Kompl operator/ ( const Kompl& a, const Kompl& b) { //a/b 27. double c=b.re*b.re+b.im*b.im;

Transcript of profs · // #include"kompl.h" #include #include using namespace std; //kompl.h - Definicija...

Page 1: profs · // #include"kompl.h" #include #include using namespace std; //kompl.h - Definicija klase kompleksnih brojeva class Kompl{double re,im; //Realni i imaginarni deo public: Kompl(double

1. // #include"kompl.h"2. #include <iostream>3. #include <cmath>4. using namespace std;5. //kompl.h - Definicija klase kompleksnih brojeva6. class Kompl{7. double re,im; //Realni i imaginarni deo8. public:9. Kompl(double r=0, double i=0){re=r; im=i;} //Stvaranje kompleksnog broja10. friend double real(const Kompl& a) //Relni deo11. {return a.re;}12. friend double imag (const Kompl& a) //Imaginarni deo13. {return a.im;}14. friend double abs(const Kompl& a) //Apsolutna vrednost15. {return sqrt(a.re*a.re+a.im*a.im);}16. friend double arg(const Kompl& a) //Argument17. {return (a.re!=0||a.im!=0)? atan2(a.im,a.re):0;}18. Kompl operator~ () const // Konjugovani broj.19. {return Kompl (re, -im);}20. friend Kompl operator+ ( const Kompl& a, const Kompl& b) //a+b21. {return Kompl (a.re+b.re, a.im+b.im);}22. friend Kompl operator- ( const Kompl& a, const Kompl& b) //a-b23. {return Kompl (a.re-b.re, a.im-b.im);}24. friend Kompl operator* ( const Kompl& a, const Kompl& b) //a*b25. {return Kompl (a.re*b.re-a.im*b.im, a.im*b.re+a.re*b.im);}26. friend Kompl operator/ ( const Kompl& a, const Kompl& b) { //a/b27. double c=b.re*b.re+b.im*b.im;28. return Kompl ((a.re*b.re+a.im*b.im)/c, (a.im*b.re-a.re*b.im)/c);}29. Kompl& operator+= (const Kompl& b) {return*this=*this+b;} //a+=b30. Kompl& operator-= (const Kompl& b) {return*this=*this-b;} //a-=b31. Kompl& operator*= (const Kompl& b) {return*this=*this*b;} //a*=b32. Kompl& operator/= (const Kompl& b) {return*this=*this/b;} //a/=b33. Kompl& operator++ ( ){ re++; return *this;} //++a34. Kompl& operator-- ( ){ re--; return *this;} //--a35. Kompl operator++ ( int ) { Kompl z=*this; re++; return z; } //a++36. Kompl operator-- ( int ) { Kompl z=*this; re-- ; return z; } //a--37. friend bool operator == ( const Kompl& a, const Kompl& b) //a==b38. {return a.re==b.re && a.im==b.im;}39. friend bool operator != ( const Kompl& a, const Kompl& b) //a!=b40. {return a.re!=b.re && a.im!=b.im;}41. friend istream& operator>> ( istream& d, Kompl& z) //Citanje42. {return d>> z.re>>z.im; }

Page 2: profs · // #include"kompl.h" #include #include using namespace std; //kompl.h - Definicija klase kompleksnih brojeva class Kompl{double re,im; //Realni i imaginarni deo public: Kompl(double

43. friend ostream& operator<< ( ostream& d, const Kompl& z) //Pisanje44. {45. return d<<'('<< z.re<<',' << z.im<< ')'; }46. };47. //Ispitivanje klase kompleksnih brojeva48. Kompl poli(const Kompl p[ ], int n, Kompl z) { //Vrednost polinoma49. Kompl s=p[n];50. for(int i=n-1; i>=0; s=s*z+p[i--] );51. return s;52. }53. int main( ) {54. cout<<"Red polinoma?"; int n; cin>>n;55. Kompl* p=new Kompl [n+1];56. cout<<"Koeficijenti?"; for (int i=n; i>=0; cin>>p[ i--]);57. cout<< "z0,dz, k?";58. Kompl z,dz; int k; cin>>z>>dz>>k; cout<<endl;59. for (int i=0; i<k; i++, z+=dz)60. cout<<z<<'\t'<<poli(p,n,z)<<endl;61. delete[ ] p;62. system("PAUSE");63. return EXIT_SUCCESS;64. }

Page 3: profs · // #include"kompl.h" #include #include using namespace std; //kompl.h - Definicija klase kompleksnih brojeva class Kompl{double re,im; //Realni i imaginarni deo public: Kompl(double