Write a C++ Program to Swap Two Numbers using Temporary variables, Bitwise Operators, Arithmetic Operators, Functions, Pointers, and Call by Reference with an example. We explain multiple ways to swap.
C++ Program to Swap Two Numbers using temp
In this example, we are using a temp variable. It allows us to enter the a and b values. Then, it uses the temp variable to interchange those two values.
#include<iostream> using namespace std; int main() { int a, b, temp; cout << "\nPlease Enter the First Number : a = "; cin >> a; cout << "\nPlease Enter the Second Number : b = "; cin >> b; cout << "\nThe Values Before Swapping: a = "<< a << " and b = " << b; temp = a; a = b; b = temp; cout << "\nThe Result After Swapping : a = "<< a << " and b = " << b; return 0; }

C++ Program to Swap Two Numbers using the Bitwise Operators
#include<iostream> using namespace std; int main() { int a, b; cout << "\nPlease Enter the First Value : a = "; cin >> a; cout << "\nPlease Enter the Second Value : b = "; cin >> b; cout << "\nThe Values Before : a = "<< a << " and b = " << b; a = a ^ b; b = a ^ b; a = a ^ b; cout << "\nThe Result After : a = "<< a << " and b = " << b; return 0; }
Please Enter the First Value : a = 30
Please Enter the Second Value : b = 40
The Values Before : a = 30 and b = 40
The Result After : a = 40 and b = 30
This Program helps to Swap Two Numbers using the Arithmetic Operators.
#include<iostream> using namespace std; int main() { int a, b; cout << "\nPlease Enter the First : a = "; cin >> a; cout << "\nPlease Enter the Second : b = "; cin >> b; cout << "\nThe Values Before : a = "<< a << " and b = " << b; a = a + b; b = a - b; a = a - b; cout << "\nThe Result After : a = "<< a << " and b = " << b; return 0; }
Please Enter the First : a = 9
Please Enter the Second : b = 17
The Values Before : a = 9 and b = 17
The Result After : a = 17 and b = 9
Swap Two Numbers using Functions
#include<iostream> using namespace std; void swapTwoNumbers(int a, int b) { int temp; temp = a; a = b; b = temp; cout << "\nThe Result After : a = "<< a << " and b = " << b; } int main() { int a, b; cout << "\nPlease Enter the First Num : a = "; cin >> a; cout << "\nPlease Enter the Second Num : b = "; cin >> b; cout << "\nThe Values Before : a = "<< a << " and b = " << b; swapTwoNumbers(a, b); return 0; }
Please Enter the First Num : a = 222
Please Enter the Second Num : b = 999
The Values Before : a = 222 and b = 999
The Result After : a = 999 and b = 222
This Program Swap Two Numbers using pointers.
#include<iostream> using namespace std; int main() { int a, b, *i, *j, temp; cout << "\nPlease Enter the First Num : a = "; cin >> a; cout << "\nPlease Enter the Second Num : b = "; cin >> b; cout << "\nThe Values Before : a = "<< a << " and b = " << b; i = &a; j = &b; temp = *i; *i = *j; *j = temp; cout << "\n\nThe Result After : a = "<< a << " and b = " << b; cout << "\nThe Result After : *i = "<< *i << " and *j = " << *j; cout << "\nThe Result After : i = "<< i << " and j = " << j; return 0; }
Please Enter the First Num : a = 1212
Please Enter the Second Num : b = 8796
The Values Before : a = 1212 and b = 8796
The Result After : a = 8796 and b = 1212
The Result After : *i = 8796 and *j = 1212
The Result After : i = 0x7ffeefbff458 and j = 0x7ffeefbff454
Write a swap two numbers Program using Call by Reference.
#include<iostream> using namespace std; void swapTwoNumbers(int *i, int *j) { int temp; temp = *i; *i = *j; *j = temp; cout << "\n\nThe Result After : i = "<< i << " and j = " << j; cout << "\nThe Result After : *i = "<< *i << " and *j = " << *j; } int main() { int a, b, *i, *j, temp; cout << "\nPlease Enter the First : a = "; cin >> a; cout << "\nPlease Enter the Second : b = "; cin >> b; cout << "\nThe Values Before : a = "<< a << " and b = " << b; i = &a; j = &b; swapTwoNumbers(i, j); cout << "\nThe Result After : a = "<< a << " and b = " << b; return 0; }
Please Enter the First : a = 1500
Please Enter the Second : b = 9877
The Values Before : a = 1500 and b = 9877
The Result After : i = 0x7ffeefbff458 and j = 0x7ffeefbff454
The Result After : *i = 9877 and *j = 1500
The Result After : a = 9877 and b = 1500