Swap two numbers without using third variable in C++

In this tutorial, we will learn how to swap two numbers without using a third variable in C++

While we are doing programming at a professional level there will be a requirement of using minimum memory to reduce various expenses.

Suppose, we have two variables: variable1 and variable2. The logic to swap the values of these variables is mentioned below:

  • variable1=varialble1+variable2
  • variable2=variable1-variable2
  • variable1=variable1-variable2

Swap two numbers without using a third variable in C++

C++ code to swap two numbers without using a third variable (Taking user input)

I have removed the conio.h as that is an outdated header file.

Take a look at the below code:

#include<iostream>   // for input and output
#include<cstdlib>

int main() {
  system("cls");  // clear the screen

  int var1, var2;
  std::cout << "Enter value of the first variable: ";
  std::cin >> var1;
  std::cout << "Enter value of the second variable: ";
  std::cin >> var2;
  std::cout << "Values before swapping-" << std::endl;
  std::cout << "Variable 1: " << var1 << std::endl;
  std::cout << "Variable 2: " << var2 << std::endl;

  var1 = var1 + var2;  // Swapping
  var2 = var1 - var2;
  var1 = var1 - var2;

  std::cout << "Values after swapping-" << std::endl;
  std::cout << "Variable 1: " << var1 << std::endl;
  std::cout << "Variable 2: " << var2 << std::endl;

  system("pause");
  return 0;
}

Output:

Enter value of the first variable: 12
Enter value of the second variable: 34
Values before swapping-
Variable 1: 12
Variable 2: 34
Values after swapping-
Variable 1: 34
Variable 2: 12

The program first declares two variables var1 and var2. We are taking the values for these variables from user input.

Output example

Enter value of first variable: 34
Enter value of second variable: 53
Values before swapping-
Variable 1:  34
Variable 2:  53
Values after swapping-
Variable 1:  53
Variable 2:  34

Swap two numbers without using a third variable – No userinput

#include<iostream>   // for input and output
#include<cstdlib>

int main() {

  int var1 = 5;  // Assign a value to var1
  int var2 = 10; // Assign a value to var2

  std::cout << "Values before swapping-" << std::endl;
  std::cout << "Variable 1: " << var1 << std::endl;
  std::cout << "Variable 2: " << var2 << std::endl;

  var1 = var1 + var2;  // Swapping
  var2 = var1 - var2;
  var1 = var1 - var2;

  std::cout << "Values after swapping-" << std::endl;
  std::cout << "Variable 1: " << var1 << std::endl;
  std::cout << "Variable 2: " << var2 << std::endl;

  system("pause");
  return 0;
}

Output:

Values before swapping-
Variable 1: 5
Variable 2: 10
Values after swapping-
Variable 1: 10
Variable 2: 5

Leave a Reply

Your email address will not be published. Required fields are marked *