-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathCOMPLEX.CPP
More file actions
82 lines (75 loc) · 1.52 KB
/
COMPLEX.CPP
File metadata and controls
82 lines (75 loc) · 1.52 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
#include<iostream.h>
#include<conio.h>
class complex
{
float rp,ip;
public:complex()
{ }
complex(float a,float b)
{
rp=a;
ip=b;
}
friend complex add(complex,complex,complex);
friend complex sub(complex,complex,complex);
friend complex mul(complex,complex,complex);
friend complex div(complex,complex,complex);
void display();
};
complex add(complex c1,complex c2,complex res)
{
res.rp=c1.rp+c2.rp;
res.ip=c1.ip+c2.ip;
return res;
}
complex sub(complex c1,complex c2,complex res)
{
res.rp=c1.rp-c2.rp;
res.ip=c1.ip-c2.ip;
return res;
}
complex mul(complex c1,complex c2,complex res)
{
res.rp=c1.rp*c2.rp-c1.ip*c2.ip;
res.ip=c1.rp*c2.ip+c1.ip*c2.rp;
return res;
}
complex div(complex c1,complex c2,complex res)
{
res.rp=(c1.rp*c2.rp+c1.ip*c2.ip)/(c1.rp*c1.rp+c2.rp*c2.rp);
res.ip=(c2.rp*c1.ip-c1.rp*c2.ip)/(c1.rp*c1.rp+c2.rp*c2.rp);
return res;
}
void complex::display()
{
cout<<rp<<"+"<<ip<<"i";
}
void main()
{
complex c1,c2,c3,c4,c5,c6;
float a,b;
clrscr();
cout<<"\n enter real and imaginary part of operand 1\n";
cin>>a>>b;
c1=complex(a,b);
cout<<"\n enter real and imaginary part of operand 2\n";
cin>>a>>b;
c2=complex(a,b);
cout<<"\n Given complex numbers are\n";
c1.display();
cout<<endl;
c2.display();
c3=add(c1,c2,c3);
cout<<"\n Sum=";
c3.display();
c4=sub(c1,c2,c4);
cout<<"\n Difference=";
c4.display();
c5=mul(c1,c2,c5);
cout<<"\n Product=";
c5.display();
c6=div(c1,c2,c6);
cout<<"\n Quotient of c1/c2=";
c6.display();
getch();
}