Skip to main content

Featured

Merge Sort in C++

  Merge Sort in C++ Introduction Merge Sort is a popular sorting algorithm that follows the Divide and Conquer approach. It divides an array into smaller subarrays, recursively sorts those subarrays, and finally merges the sorted subarrays to produce a completely sorted array. In this tutorial, we will learn how to implement Merge Sort in C++ . The program divides the array into two halves using the mid index, recursively sorts both halves, and then combines them using the merge() function. Merge Sort has a time complexity of O(n log n) in the best, average, and worst cases. Table of Contents Algorithm C++ Program Input Sample Output Output Explanation Dry Run Flow of Execution Time Complexity Space Complexity Applications Key Points Interview Questions Frequently Asked Questions Keywords Conclusion Algorithm Start the program. Read the size of the array. Read the array elements from the user. Call the mer...

C++ Program for Complex Numbers Using Operator Overloading

C++ Program for Complex Numbers Using Operator Overloading

✅ C++ Program for Complex Number Operations Using Operator Overloading

#include <iostream>
#include <cmath>
using namespace std;

class complex
{
public:
    float real, image;

    complex()
    {
        real = 0;
        image = 0;
    }

    void input()
    {
        cout << "Enter real part: ";
        cin >> real;
        cout << "Enter imaginary part: ";
        cin >> image;
    }

    complex operator+(complex &obj)
    {
        complex temp;
        temp.real = real + obj.real;
        temp.image = image + obj.image;
        return temp;
    }

    complex operator-(complex &obj)
    {
        complex temp;
        temp.real = real - obj.real;
        temp.image = image - obj.image;
        return temp;
    }

    complex operator*(complex &obj)
    {
        complex temp;
        temp.real = (real * obj.real) - (image * obj.image);
        temp.image = (real * obj.image) + (image * obj.real);
        return temp;
    }

    complex operator/(complex &obj)
    {
        complex temp;
        float denom = (obj.real * obj.real) + (obj.image * obj.image);

        temp.real = (real * obj.real + image * obj.image) / denom;
        temp.image = (image * obj.real - real * obj.image) / denom;

        return temp;
    }

    complex conjugate()
    {
        complex temp;
        temp.real = real;
        temp.image = -image;
        return temp;
    }

    float modulus()
    {
        return sqrt((real * real) + (image * image));
    }

    void display()
    {
        cout << real << " + " << image << "i" << endl;
    }
};

int main()
{
    complex c1, c2, c3;

    cout << "Enter first complex number:\n";
    c1.input();

    cout << "\nEnter second complex number:\n";
    c2.input();

    c3 = c1 + c2;
    cout << "Addition:\n";
    c3.display();

    c3 = c1 - c2;
    cout << "Subtraction:\n";
    c3.display();

    c3 = c1 * c2;
    cout << "Multiplication:\n";
    c3.display();

    c3 = c1 / c2;
    cout << "Division:\n";
    c3.display();

    c3 = c1.conjugate();
    cout << "Conjugate:\n";
    c3.display();

    cout << "Modulus:\n";
    cout << c1.modulus() << endl;

    return 0;
}
  

๐Ÿ“˜ Explanation:

This program demonstrates operator overloading in C++ for performing arithmetic operations on complex numbers. Each operator is overloaded using mathematical formulas.

  • + → Adds two complex numbers
  • - → Subtracts two complex numbers
  • * → Multiplies two complex numbers
  • / → Divides two complex numbers
  • Conjugate → Changes sign of imaginary part
  • Modulus → Calculates magnitude

๐Ÿ“ Mathematical Formulas Used:

Let z₁ = a + bi
    z₂ = c + di

Addition       :(a+bi)+(c+di)=(a+c)+(b+d)i
Subtraction    :(a+bi)−(c+di)=(a−c)+(b−d)i
Multiplication : (a+bi)(c+di)=(ac−bd)+(ad+bc)i
Division       :a+bi/c+di=(ac+bd)+(bc-ad)i/c^2+d^2
Conjugate      : a − bi
Modulus        : √(a² + b²)
  

๐Ÿงพ Sample Output:

Enter real part: 4
Enter imaginary part: 5
Enter real part: 2
Enter imaginary part: 3

Addition:
6 + 8i
Subtraction:
2 + 2i
Multiplication:
-7 + 22i
Division:
1.77 + -0.15i
Conjugate:
4 + -5i
Modulus:
6.40
  

๐Ÿ”‘ Keywords:

C++ complex number program, operator overloading, complex arithmetic, C++ OOP example, complex class in C++

๐Ÿ“Œ Hashtags:

#CPlusPlus #OperatorOverloading #ComplexNumbers #OOP #CPPBasics #Programming #1printf

๐Ÿ” Search Description:

Learn how to perform complex number operations in C++ using operator overloading. Includes formulas, explanation, sample output, and dark-themed code.

Comments

Popular Posts

๐ŸŒ™