## How to find the sum of two complex numbers in C++:

Complex numbers contains one real part and imaginary part. These numbers are like *x + iy* where *x* is the real part and *y* is the imaginary part.
To find the sum of two *complex numbers*, the *real* parts are added and the *imaginary* parts are added. The final number is also a *complex* number with its real and imaginary parts as we got in the addition.
In this post, we will learn how to write one *C++* program to find the sum of two *complex* numbers.

### C++ program to find the sum of two complex numbers:

Letâ€™s look at the below program:

```
#include <iostream>
using namespace std;
int main()
{
int realOne, imgOne, realTwo, imgTwo;
cout << "Enter the real and imaginary parts of the first number :" << endl;
cin >> realOne >> imgOne;
cout << "Enter the real and imaginary parts of the second number :" << endl;
cin >> realTwo >> imgTwo;
int realSum = realOne + realTwo;
int imgSum = imgOne + imgTwo;
string divider = "+";
if (imgSum > 0)
{
cout << "Sum : " << realSum << divider << imgSum << "i" << endl;
}else{
cout << "Sum : " << realSum << imgSum << "i" << endl;
}
}
```

### Explanation:

*realOne, imgOne, realTwo, imgTwo*are four integer values to hold the real and imaginary parts of the two numbers.- Using
*cout*and*cin*, we are reading the real and imaginary parts of the first and the second numbers. - Variable
*realSum*and*imgSum*are used to hold the real and imaginary values of the sum. - Finally, we are printing the complex number in
*x+yi*format.

### Sample Output:

If you run this program, it will print outputs as like below:

```
Enter the real and imaginary parts of the first number :
10 20
Enter the real and imaginary parts of the second number :
-20 -30
Sum : -10-10i
Enter the real and imaginary parts of the first number :
10 10
Enter the real and imaginary parts of the second number :
20 20
Sum : 30+30i
```

### Method 2: Using a class to hold the real and imaginary parts of the complex number:

We can also use one *class* to hold the *real* and *imaginary* parts of the complex numbers instead of using separate variables for each.

The class will hold two *public* integer variables to hold the *real* and *imaginary* parts. For example:

```
#include <iostream>
using namespace std;
class ComplexNumber{
public:
int real, imaginary;
};
int main()
{
ComplexNumber first, second, sum;
cout << "Enter the real and imaginary parts of the first number :" << endl;
cin >> first.real >> first.imaginary;
cout << "Enter the real and imaginary parts of the second number :" << endl;
cin >> second.real >> second.imaginary;
sum.real = first.real + second.real;
sum.imaginary = first.imaginary + second.imaginary;
string divider = "+";
if (sum.imaginary > 0)
{
cout << "Sum : " << sum.real << divider << sum.imaginary << "i" << endl;
}else{
cout << "Sum : " << sum.real << sum.imaginary << "i" << endl;
}
}
```

- This is similar to the above example. But we have used one new class
*Complex*. It has two public int variables*real*and*imaginary*. - The variables
*first*,*second*and*sum*are of type*ComplexNumber*. - Last part of this program is same as the above one.

If you run this program, it will print output as like the above one.