Cómo intercambiar dos variables en C ++, Python y JavaScript

Como programador, es probable que se haya enfrentado a una situación que requiera que intercambie dos números. Intercambiar dos números es una de las situaciones más comunes que enfrentan los programadores mientras codifican.

Puede intercambiar dos números usando una variable temporal o usando operaciones aritméticas y bit a bit. En este artículo, aprenderá sobre una variedad de métodos que le permiten intercambiar dos números.

Cómo intercambiar dos números usando una variable temporal

Usar una variable temporal es la forma más sencilla de intercambiar dos números. Siga estos tres sencillos pasos:

Paso 1 : Asignar el valor de la primera variable a una variable temporal.

Paso 2 : Asigne el valor de la segunda variable a la primera variable.

Paso 3 : Asigne el valor de la variable temporal a la segunda variable.

Por ejemplo:

Deje num1 = 80 y num2 = 50 (antes de cambiar).

Después del paso 1 : num1 = 80, num2 = 50 y temp = 80.

Después del paso 2 : num1 = 50, num2 = 50 y temp = 80.

Después del paso 3 : num1 = 50, num2 = 80 y temp = 80.

Por lo tanto, num1 es igual a 50 y num2 es igual a 80 después del intercambio.

Implementación de C ++ para intercambiar dos números usando una variable temporal

A continuación se muestra la implementación de C ++ para intercambiar dos números usando una variable temporal:

 #include <iostream>
using namespace std;
// Function to swap two numbers
// using a temporary variable
void swapNums(int num1, int num2)
{
// Printing numbers before swapping
cout << "Before Swapping: " << endl;
cout << "num1 = " << num1 << ", num2 = " << num2 << endl;
// Swapping with the help of a
// temporary variable "temp"
int temp = num1;
num1 = num2;
num2 = temp;
// Printing numbers after swapping
cout << "After Swapping: " << endl;
cout << "num1 = " << num1 << ", num2 = " << num2 << endl;
}
// Driver Code
int main()
{
swapNums(80, 50);
return 0;
}

Producción:

 Before Swapping:
num1 = 80, num2 = 50
After Swapping:
num1 = 50, num2 = 80

Implementación de Python para intercambiar dos números usando una variable temporal

A continuación se muestra la implementación de Python para intercambiar dos números usando una variable temporal:

 # Function to swap two numbers
# using a temporary variable
def swapNums(num1, num2):
# Printing numbers before swapping
print("Before Swapping:")
print("num1: " , num1 , ", num2: " , num2)
# Swapping with the help of a
# temporary variable "temp"
temp = num1
num1 = num2
num2 = temp
# Printing numbers after swapping
print("After Swapping:")
print("num1: " , num1 , ", num2: " , num2)

# Driver Code
swapNums(80, 50)

Producción:

 Before Swapping:
num1 = 80, num2 = 50
After Swapping:
num1 = 50, num2 = 80

Implementación de JavaScript para intercambiar dos números usando una variable temporal

A continuación se muestra la implementación de JavaScript para intercambiar dos números usando una variable temporal:

 <script>
// Function to swap two numbers
// using a temporary variable
function swapNums(num1, num2) {
// Printing numbers before swapping
document.write("Before Swapping: <br>");
document.write("num1: " + num1 + ", num2: " + num2 + "<br>");
// Swapping with the help of a
// temporary variable "temp"
let temp = num1;
num1 = num2;
num2 = temp;
// Printing numbers after swapping
document.write("After Swapping: <br>");
document.write("num1: " + num1 + ", num2: " + num2 + "<br>");
}
// Driver Code
swapNums(80, 50);
</script>

Producción:

 Before Swapping:
num1 = 80, num2 = 50
After Swapping:
num1 = 50, num2 = 80

Cómo intercambiar dos números usando operadores aritméticos (suma y resta)

Primero, obtenga la suma de dos números. Luego, puede obtener los números requeridos usando la suma y la resta de la suma.

Implementación de C ++ para intercambiar dos números usando operadores aritméticos (suma y resta)

A continuación se muestra la implementación de C ++ para intercambiar dos números usando operadores aritméticos (suma y resta):

 #include <iostream>
using namespace std;
// Function to swap two numbers
// using arithmetic operators (+, -)
void swapNums(int num1, int num2)
{
// Printing numbers before swapping
cout << "Before Swapping: " << endl;
cout << "num1 = " << num1 << ", num2 = " << num2 << endl;
// Swapping with the help of
// artithmetic operators (+, -)
num1 = num1 + num2;
num2 = num1 - num2;
num1 = num1 - num2;
// Printing numbers after swapping
cout << "After Swapping: " << endl;
cout << "num1 = " << num1 << ", num2 = " << num2 << endl;
}
// Driver Code
int main()
{
swapNums(80, 50);
return 0;
}

Producción:

 Before Swapping:
num1 = 80, num2 = 50
After Swapping:
num1 = 50, num2 = 80

Implementación de Python para intercambiar dos números usando operadores aritméticos (suma y resta)

A continuación se muestra la implementación de Python para intercambiar dos números usando operadores aritméticos (suma y resta):

 # Function to swap two numbers
# using arithmetic operators (+, -)
def swapNums(num1, num2):
# Printing numbers before swapping
print("Before Swapping:")
print("num1: " , num1 , ", num2: " , num2)
# Swapping with the help of
# arithmetic operators (+, -)
num1 = num1 + num2
num2 = num1 - num2
num1 = num1 - num2
# Printing numbers after swapping
print("After Swapping:")
print("num1: " , num1 , ", num2: " , num2)

# Driver Code
swapNums(80, 50)

Producción:

 Before Swapping:
num1 = 80, num2 = 50
After Swapping:
num1 = 50, num2 = 80

Implementación de JavaScript para intercambiar dos números usando operadores aritméticos (suma y resta)

A continuación se muestra la implementación de JavaScript para intercambiar dos números usando operadores aritméticos (suma y resta):

 <script>
// Function to swap two numbers
// using arithmetic operators (+, -)
function swapNums(num1, num2) {
// Printing numbers before swapping
document.write("Before Swapping: <br>");
document.write("num1: " + num1 + ", num2: " + num2 + "<br>");
// Swapping with the help of
// using arithmetic operators (+, -)
num1 = num1 + num2;
num2 = num1 - num2;
num1 = num1 - num2;
// Printing numbers after swapping
document.write("After Swapping: <br>");
document.write("num1: " + num1 + ", num2: " + num2 + "<br>");
}
// Driver Code
swapNums(80, 50);
</script>

Producción:

 Before Swapping:
num1 = 80, num2 = 50
After Swapping:
num1 = 50, num2 = 80

Cómo intercambiar dos números usando operadores aritméticos (multiplicación y división)

Puede intercambiar dos números mediante la multiplicación y la división en tres sencillos pasos:

Paso 1 : num1 = num1 * num2

Paso 2 : num2 = num1 / num2

Paso 3 : num1 = num1 / num2

Los valores de num1 y num2 se intercambian.

Este no es un método preferido para intercambiar dos números porque si cualquiera de los números es 0, el producto de estos dos números también será 0. Además, si el segundo número es 0, los compiladores arrojarán una división por error cero. Por lo tanto, debe evitar este enfoque para intercambiar dos números.

Cómo intercambiar dos números usando operadores bit a bit

El operador XOR bit a bit se utiliza para intercambiar dos números.

Implementación de C ++ para intercambiar dos números usando operadores bit a bit

A continuación se muestra la implementación de C ++ para intercambiar dos números usando operadores XOR:

 #include <iostream>
using namespace std;
// Function to swap two numbers
// using XOR operator
void swapNums(int num1, int num2)
{
// Printing numbers before swapping
cout << "Before Swapping: " << endl;
cout << "num1 = " << num1 << ", num2 = " << num2 << endl;
// Swapping with the help of
// XOR operator
num1 = num1 ^ num2;
num2 = num1 ^ num2;
num1 = num1 ^ num2;
// Printing numbers after swapping
cout << "After Swapping: " << endl;
cout << "num1 = " << num1 << ", num2 = " << num2 << endl;
}
// Driver Code
int main()
{
swapNums(80, 50);
return 0;
}

Producción:

 Before Swapping:
num1 = 80, num2 = 50
After Swapping:
num1 = 50, num2 = 80

Implementación de Python para intercambiar dos números usando operadores bit a bit

A continuación se muestra la implementación de Python para intercambiar dos números usando operadores XOR:

Relacionado Cómo escribir o imprimir en un archivo en Python

 # Function to swap two numbers
# using XOR operator
def swapNums(num1, num2):
# Printing numbers before swapping
print("Before Swapping:")
print("num1: " , num1 , ", num2: " , num2)
# Swapping with the help of
# XOR operator
num1 = num1 ^ num2
num2 = num1 ^ num2
num1 = num1 ^ num2
# Printing numbers after swapping
print("After Swapping:")
print("num1: " , num1 , ", num2: " , num2)

# Driver Code
swapNums(80, 50)

Producción:

 Before Swapping:
num1: 80 , num2: 50
After Swapping:
num1: 50 , num2: 80

Implementación de JavaScript para intercambiar dos números usando operadores bit a bit

A continuación se muestra la implementación de JavaScript para intercambiar dos números utilizando operadores XOR:

 <script>
// Function to swap two numbers
// using XOR operator
function swapNums(num1, num2) {
// Printing numbers before swapping
document.write("Before Swapping: <br>");
document.write("num1: " + num1 + ", num2: " + num2 + "<br>");
// Swapping with the help of
// using XOR operator
num1 = num1 ^ num2;
num2 = num1 ^ num2;
num1 = num1 ^ num2;
// Printing numbers after swapping
document.write("After Swapping: <br>");
document.write("num1: " + num1 + ", num2: " + num2 + "<br>");
}
// Driver Code
swapNums(80, 50);
</script>

Producción:

 Before Swapping:
num1: 80, num2: 50
After Swapping:
num1: 50, num2: 80

Solución de una línea para intercambiar dos números en C ++, Python y JavaScript

También puede intercambiar dos números en una línea sin utilizar ninguna función de biblioteca.

Implementación de C ++ para una solución de una línea

 #include <iostream>
using namespace std;
int main()
{
int num1 = 80, num2 = 50;
cout << "Before Swapping: " << endl;
cout << "num1 = " << num1 << ", num2 = " << num2 << endl;
// One line solution to swap two numbers
num1 = num1 ^ num2, num2 = num1 ^ num2, num1 = num1 ^ num2;
cout << "After Swapping: " << endl;
cout << "num1 = " << num1 << ", num2 = " << num2 << endl;
return 0;
}

Producción:

 Before Swapping:
num1: 80, num2: 50
After Swapping:
num1: 50, num2: 80

Implementación de Python para una solución de una línea

 num1 = 80
num2 = 50
print("Before Swapping:")
print("num1: " , num1 , ", num2: " , num2)
# One line solution to swap two numbers
num1, num2 = num2, num1
print("After Swapping:")
print("num1: " , num1 , ", num2: " , num2)

Producción:

 Before Swapping:
num1: 80, num2: 50
After Swapping:
num1: 50, num2: 80

Implementación de JavaScript para una solución de una línea

 <script>
let num1 = 80, num2 = 50;
document.write("Before Swapping: <br>");
document.write("num1: " + num1 + ", num2: " + num2 + "<br>");
// One line solution to swap two numbers
(num1 ^= num2), (num2 ^= num1), (num1 ^= num2);
document.write("After Swapping: <br>");
document.write("num1: " + num1 + ", num2: " + num2 + "<br>");
</script>

Producción:

 Before Swapping:
num1: 80, num2: 50
After Swapping:
num1: 50, num2: 80

Relacionado: 10 principios básicos de programación que todo programador debe conocer

Si desea ver el código fuente completo utilizado en este artículo, aquí está el repositorio de GitHub .

Mejore sus hábitos de programación

Si desea mejorar sus hábitos de programación, debe seguir ciertos principios de programación como KISS (Keep It Simple, Stupid), Dry Code, YAGNI (No lo va a necesitar), etc. errores de codificación, debe conocer los errores de codificación más comunes. El conocimiento lo ayudará a evitar errores comunes y a mantener su código significativo.