yamrajbhalla

Branch Unspecified

30 Mar 2009

**C++ Programs by Yamrajbhalla**

This Will Do the +,-,*and / of the complex numbers

out put

(3+3i) + (5+5i) =(8+8i)

(3+3i) - (5+5i) =(-2+-2i)

(3+3i) * (5+5i) =(15+15i)

(3+3i) / (5+5i) =(0.6+0.6i)

/*Operator overloading for complex Numbers*/ #include<iostream.h> #include<conio.h> class complex { float real; float img; public: complex() { real=img=0; } complex(float real,float img) { this->real=real; this->img=img; } void setcomplex(float r,float i) { real=r; img=i; } void print() { cout<<real<<" + "<<img<<"i"; } complex operator +(complex c) { complex t; t.real=real+c.real; t.img=img+c.img; return t; } complex operator -(complex c) { complex t; t.real=real-c.real; t.img=img-c.img; return t; } complex operator *(complex c) {complex t; t.real=real*c.real; t.img=img*c.img; return t; } complex operator /(complex c) {complex t; t.real=real/c.real; t.img=img/c.img; return t; } }; void main() {complex c1,c2,c3,c4,c5,c6; clrscr(); //add items; c1.setcomplex(3,3); c2.setcomplex(5,5); c3=c1+c2; cout<<endl<<"(";c1.print();cout<<") + (";c2.print(); cout<<") = ("; c3.print();cout<<")"; c4=c1-c2; cout<<endl<<"(";c1.print();cout<<") - (";c2.print(); cout<<") = ("; c4.print();cout<<")"; c5=c1*c2; cout<<endl<<"(";c1.print();cout<<") * (";c2.print(); cout<<") = ("; c5.print();cout<<")"; c6=c1/c2; cout<<endl<<"(";c1.print();cout<<") / (";c2.print(); cout<<") = ("; c6.print();cout<<")"; getch(); }

out put

(3+3i) + (5+5i) =(8+8i)

(3+3i) - (5+5i) =(-2+-2i)

(3+3i) * (5+5i) =(15+15i)

(3+3i) / (5+5i) =(0.6+0.6i)

pradeep_agrawal

Branch Unspecified

31 Mar 2009

The program looks good except the logic of for * (multiplication) and / (division). The code for that was mentioned as

(3+3i) * (5+5i) =(15+15i)

(3+3i) / (5+5i) =(0.6+0.6i)

The output should be

(3+3i) * (5+5i) = 3*5 + 3i*5 + 3*5i + 3i*5i = 15 + 15i + 15i -15 = (0+30i)

(3+3i) / (5+5i) = [(3+3i)/(5+5i)] * [(5-5i)/(5-5i)]

= (15 + 15i -15i + 15) / (25 + 25i -25i + 25) = 30/50 = 0.6 = (0.6+0i)

Coding for multiplication should be easy. Lets try coding for division.

-Pradeep

complex operator *(complex c) {complex t; t.real=real*c.real; t.img=img*c.img; return t; } complex operator /(complex c) {complex t; t.real=real/c.real; t.img=img/c.img; return t; }with output

(3+3i) * (5+5i) =(15+15i)

(3+3i) / (5+5i) =(0.6+0.6i)

The output should be

(3+3i) * (5+5i) = 3*5 + 3i*5 + 3*5i + 3i*5i = 15 + 15i + 15i -15 = (0+30i)

(3+3i) / (5+5i) = [(3+3i)/(5+5i)] * [(5-5i)/(5-5i)]

= (15 + 15i -15i + 15) / (25 + 25i -25i + 25) = 30/50 = 0.6 = (0.6+0i)

Coding for multiplication should be easy. Lets try coding for division.

-Pradeep

shalini_goel14

Branch Unspecified

31 Mar 2009

Hey pradeep, Don't you think for division it should be like following :pradeep_agrawal(3+3i) / (5+5i) = [(3+3i)/(5+5i)] * [(5+5i)/(5+5i)]

= (15 + 15i -15i + 15) / (25 + 25i -25i + 25) = 30/50 = 0.6 = (0.6+0i)

Coding for multiplication should be easy. Lets try coding for division.

-Pradeep

(3+3i) / (5+5i) = [(3+3i)/(5+5i)] * [(5-5i)/(5-5i)]

Please correct me if anything wrong. 😔

Thanks !

pradeep_agrawal

Branch Unspecified

31 Mar 2009

Yes that should be [(3+3i)/(5+5i)] * [(5-5i)/(5-5i)].

I did all calculation using [(3+3i)/(5+5i)] * [(5-5i)/(5-5i)] but mentioned [(3+3i)/(5+5i)] * [(5+5i)/(5+5i)] by mistake.

Thanks for correcting me. I am modifying the above statement to reflect this.

-Pradeep

I did all calculation using [(3+3i)/(5+5i)] * [(5-5i)/(5-5i)] but mentioned [(3+3i)/(5+5i)] * [(5+5i)/(5+5i)] by mistake.

Thanks for correcting me. I am modifying the above statement to reflect this.

-Pradeep

yamrajbhalla

Branch Unspecified

02 Apr 2009

bro after posting this i have chnged the code for multiplication and divison bt i stuck with fever and i am nt able to update it

by the way thanks for view my post

by the way thanks for view my post

Only logged in users can reply.