Skip to main content

Featured

Solve LeetCode 3 Longest Substring Without Repeating Characters in C++ using the sliding window

Longest Substring Without Repeating Characters in C++ LeetCode 3 · sliding window · last index array Table of Contents Problem Statement Approach 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 Conclusion Problem Statement 3. Longest Substring Without Repeating Characters Given a string s , find the length of the longest substring that contains no repeating characters. A substring is a continuous part of the string, so "pwke" is a subsequence of "pwwkew" but not a substring. Approach We use a sliding window . The window is the part of the string between start and end , and we always keep it free of repeated characters. An array lastIndex of size 128 remembers the most recent position of every ASCII ...

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

๐ŸŒ™