Swap Two Numbers using Function in C++
Swapping numbers means exchanging the values of the two numbers with each other. For Example,
Before Swapping:
a = 10, b = 22;
After swapping:
a = 22, b = 10
In this article, we will write a program to swap two numbers using a function in C++.
How to Swap Two Numbers Using Function in C++?
We will pass the address or reference of the two variables that we want to swap to the function. If we pass them as value, we won’t be able to change their value as in pass by value method, no changes are reflected in the original variables.
After that, we can use the temporary variable to swap the value of the given number of variables.
C++ Program for Swapping Two Numbers Using Function
C++
// C++ program to illustrate how to swap two variables using // a function in C++ #include <iostream> using namespace std; // function to swap two variables void swap( int * a, int * b) { int temp = *a; *a = *b; *b = temp; } // driver code int main() { int a = 10; int b = 22; cout << "Before Swapping: " << endl; cout << " a: " << a << " b: " << b << endl; // calling swap swap(&a, &b); cout << "After Swapping: " << endl; cout << " a: " << a << " b: " << b << endl; return 0; } |
Output
Before Swapping: a: 10 b: 22 After Swapping: a: 22 b: 10
We can also make use of C++ templates to create a function that can swap the values of any kind.
C++ Program for Swapping Using Function Template
C++
// C++ program to illustrate how to swap two numbers using // function template #include <iostream> #include <string> using namespace std; // function template to swap two values template < typename T> void swap_func(T& a, T& b) { T temp = a; a = b; b = temp; } // driver code int main() { string s1 = "Beginner" , s2 = "for" ; int num1 = 10, num2 = 22; cout << "Before Swapping:" << endl; cout << s1 << " " << s2 << endl; cout << num1 << " " << num2 << endl; swap_func(s1, s2); swap_func(num1, num2); cout << "\nAfter Swapping:" << endl; cout << s1 << " " << s2 << endl; cout << num1 << " " << num2 << endl; return 0; } |
Output
Before Swapping: Beginner for 10 22 After Swapping: for Beginner 22 10