-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathcomplex.cpp
More file actions
95 lines (83 loc) · 1.53 KB
/
complex.cpp
File metadata and controls
95 lines (83 loc) · 1.53 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
#include <iostream>
using namespace std;
class complex
{
double r;
double i;
public:
complex()
{
r = 0;
i = 0;
}
complex(double re, double im)
{
r = re;
i = im;
}
complex add(complex other)
{
complex sum;
sum.r = r + other.r;
sum.i = i + other.i;
return sum;
}
complex multiply(complex other)
{
complex prod;
prod.r = (r * other.r) - (i * other.i);
prod.i = (r * other.i) - (i * other.r);
return prod;
}
complex negate()
{
complex ne;
ne.r = -(r);
ne.i = -(i);
return ne;
}
complex invert()
{
complex in;
double store = (r * r) + (i * i);
in.r = r/store;
in.i = -(i/store);
return in;
}
complex print()
{
cout<<r<<"+("<<i<<"i)"<<endl;
}
};
int main()
{
double r,i;
cout<<"Enter complex no. 1:"<<endl<<"Real: ";
cin>>r;
cout<<"Imaginary: ";
cin>>i;
complex o1 = complex(r,i);
cout<<"Enter complex no. 2:"<<endl<<"Real: ";
cin>>r;
cout<<"Imaginary: ";
cin>>i;
complex o2 = complex(r,i);
complex sum = o1.add(o2);
complex prod = o1.multiply(o2);
complex negative1 = o1.negate();
complex negative2 = o2.negate();
complex inverted1 = o1.invert();
complex inverted2 = o2.invert();
cout<<"Sum: ";
sum.print();
cout<<"Product: ";
prod.print();
cout<<"Negative of Complex no. 1: ";
negative1.print();
cout<<"Negative of Complex no. 2: ";
negative2.print();
cout<<"Inversion of Complex no. 1: ";
inverted1.print();
cout<<"Inversion of Complex no. 2: ";
inverted2.print();
}