Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <math.h>
- using namespace std;
- class Complex {
- public:
- double r; // real ( + 3 )
- double i; // unreal ( + 3i )
- void input() {
- double a, b;
- cout << "Please, enter complex number (a+bi): ";
- cin >> a >> b;
- this->r = a;
- this->i = b;
- }
- Complex operator+(Complex tmp) {
- Complex a;
- a.r = this->r + tmp.r;
- a.i = this->i + tmp.i;
- return a;
- }
- Complex operator+(int tmp) {
- Complex a;
- a.r = this->r + tmp;
- a.i = this->i;
- return a;
- }
- Complex operator-(Complex tmp) {
- Complex a;
- a.r = this->r - tmp.r;
- a.i = this->i - tmp.i;
- return a;
- }
- Complex operator-(int tmp) {
- Complex a;
- a.r = this->r - tmp;
- a.i = this->i;
- return a;
- }
- Complex operator*(Complex tmp) {
- Complex a;
- a.r = this->r*tmp.r + this->i*tmp.i;
- a.i = this->r*tmp.i + this->i*tmp.r;
- return a;
- }
- Complex operator*(int tmp) {
- Complex a;
- a.r = this->r*tmp;
- a.i = this->i*tmp;
- return a;
- }
- Complex operator/(Complex tmp) {
- Complex a;
- a.r = (this->r * tmp.r + this->i * tmp.i)/(tmp.i*tmp.i + tmp.r*tmp.r);
- a.i = (this->i * tmp.r - this->r * tmp.i)/(tmp.i*tmp.i + tmp.r*tmp.r);
- return a;
- }
- Complex operator/(int tmp) {
- Complex a;
- a.r = this->r/tmp;
- a.i = this->i/tmp;
- return a;
- }
- void output() {
- if (this->r != 0)
- cout << this->r;
- if ((this->i > 0)&&(this->r != 0))
- cout << "+";
- if (this->i != 0)
- cout << this->i << "i";
- if ( ( this->r == 0 ) && ( this->i == 0 ) )
- cout << this->r;
- cout << endl;
- }
- };
- int main()
- {
- int n;
- Complex *mass;
- cout << "Please, enter n: ";
- cin >> n;
- mass = new Complex[n];
- for (int i = 0; i<n; i++)
- mass[i].input();
- cout << endl << "[0]+[1]=";
- Complex tmp = mass[0] + mass[1];
- tmp.output();
- cout << "[0]-[1]=";
- tmp = mass[0] - mass[1];
- tmp.output();
- cout << "[0]*[1]=";
- tmp = mass[0] * mass[1];
- tmp.output();
- cout << "[0]/[1]=";
- tmp = mass[0] / mass[1];
- tmp.output();
- cout << endl;
- int index = 0;
- for (int i = 1; i<n; i++)
- if (fabs(mass[index].r-mass[index].i) > fabs(mass[i].r-mass[i].i))
- index = i;
- cout << "Searched complex number: ";
- mass[index].output();
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement