Introducción
Intercambiar dos números significa que sus valores deben intercambiarse, es decir, el valor inicial del primer número ahora debe ser lo que era el segundo número, y viceversa. En este laboratorio, aprenderemos dos maneras de intercambiar dos números sin utilizar una tercera variable:
Crea un nuevo archivo de C++
Abre tu terminal y navega hasta el directorio del proyecto con el comando:
cd ~/proyecto
Crea un nuevo archivo de C++ llamado swap.cpp usando el comando:
touch swap.cpp
Abre swap.cpp en tu editor de código preferido.
Escribe el código para intercambiar dos números usando los operadores + y -
En este paso, escribiremos el código para intercambiar dos números usando los operadores + y -. El código debe tomar dos números del usuario y intercambiarlos sin usar una tercera variable.
// swap.cpp
#include <iostream>
using namespace std;
void swap_numbers(int &x, int &y) {
x = x + y;
y = x - y;
x = x - y;
}
int main() {
int a, b;
cout << "Ingrese el valor de a: ";
cin >> a;
cout << "Ingrese el valor de b: ";
cin >> b;
cout << "Antes de intercambiar: " << endl;
cout << "a = " << a << endl;
cout << "b = " << b << endl;
swap_numbers(a, b);
cout << "Después de intercambiar: " << endl;
cout << "a = " << a << endl;
cout << "b = " << b << endl;
return 0;
}
En este código, hemos creado una función swap_numbers que toma dos argumentos enteros y realiza la operación de intercambio. Tomamos dos números a y b del usuario y llamamos a la función swap_numbers que intercambia sus valores. Finalmente, imprimimos los valores intercambiados de a y b.
Para ejecutar el programa, utiliza el comando:
g++ swap.cpp -o swap &&./swap
Escribe el código para intercambiar dos números usando los operadores * y /
En este paso, escribiremos el código para intercambiar dos números usando los operadores * y /. El código debe tomar dos números del usuario y intercambiarlos sin usar una tercera variable.
// swap.cpp
#include <iostream>
using namespace std;
void swap_numbers(int &x, int &y) {
x = x * y;
y = x / y;
x = x / y;
}
int main() {
int a, b;
cout << "Ingrese el valor de a: ";
cin >> a;
cout << "Ingrese el valor de b: ";
cin >> b;
cout << "Antes de intercambiar: " << endl;
cout << "a = " << a << endl;
cout << "b = " << b << endl;
swap_numbers(a, b);
cout << "Después de intercambiar: " << endl;
cout << "a = " << a << endl;
cout << "b = " << b << endl;
return 0;
}
En este código también, hemos creado una función swap_numbers que toma dos argumentos enteros y realiza la operación de intercambio. Tomamos dos números a y b del usuario y llamamos a la función swap_numbers que intercambia sus valores. Finalmente, imprimimos los valores intercambiados de a y b. En este método de intercambio, usamos operaciones de multiplicación y división en lugar de suma y resta.
Para ejecutar el programa, utiliza el comando:
g++ swap.cpp -o swap &&./swap
Programa final
Aquí está el código completo del programa swap.cpp que intercambia dos números tanto por el método de suma-resta como por el de multiplicación-division.
// swap.cpp
#include <iostream>
using namespace std;
void add_subtract_swap(int &x, int &y) {
x = x + y;
y = x - y;
x = x - y;
}
void multiply_divide_swap(int &x, int &y) {
x = x * y;
y = x / y;
x = x / y;
}
int main() {
int a, b;
cout << "Ingrese el valor de a: ";
cin >> a;
cout << "Ingrese el valor de b: ";
cin >> b;
cout << "Antes de intercambiar: " << endl;
cout << "a = " << a << endl;
cout << "b = " << b << endl;
add_subtract_swap(a, b);
cout << "Después de intercambiar usando los operadores + y -: " << endl;
cout << "a = " << a << endl;
cout << "b = " << b << endl;
multiply_divide_swap(a, b);
cout << "Después de intercambiar usando los operadores * y /: " << endl;
cout << "a = " << a << endl;
cout << "b = " << b << endl;
return 0;
}
Compilar y ejecutar
Para compilar y ejecutar el programa, utiliza el comando:
g++ swap.cpp -o swap &&./swap
El programa pedirá al usuario dos números, los cuales intercambiará tanto de manera sumando-restando como multiplicando-dividiendo. La salida mostrará los valores iniciales de a y b, los valores intercambiados usando sumando-restando y los valores intercambiados usando multiplicando-dividiendo.
Resumen
El intercambio es una operación importante en la programación y a menudo es requerida en muchos algoritmos. En este laboratorio, aprendimos dos maneras de intercambiar dos números sin usar una tercera variable: usando sumas y restas, y usando multiplicaciones y divisiones. También aprendimos cómo crear funciones para realizar la operación de intercambio, lo que hace que nuestro código sea más modular y más fácil de leer.



