Introdução
Trocar dois números significa que seus valores devem ser intercambiados, ou seja, o valor inicial do primeiro número deve agora ser o que o segundo número era, e vice-versa. Neste laboratório, aprenderemos duas maneiras de trocar dois números sem usar uma terceira variável:
Criar um novo arquivo C++
Abra seu terminal e navegue até o diretório do projeto com o comando:
cd ~/project
Crie um novo arquivo C++ chamado swap.cpp usando o comando:
touch swap.cpp
Abra swap.cpp no seu editor de código preferido.
Escreva o código para trocar dois números usando os operadores + e -
Nesta etapa, escreveremos o código para trocar dois números usando os operadores + e -. O código deve receber dois números do usuário e trocá-los sem usar uma terceira variável.
// 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 << "Enter the value of a: ";
cin >> a;
cout << "Enter the value of b: ";
cin >> b;
cout << "Before swapping: " << endl;
cout << "a = " << a << endl;
cout << "b = " << b << endl;
swap_numbers(a, b);
cout << "After swapping: " << endl;
cout << "a = " << a << endl;
cout << "b = " << b << endl;
return 0;
}
Neste código, criamos uma função swap_numbers que recebe dois argumentos inteiros e realiza a operação de troca. Recebemos dois números a e b do usuário e chamamos a função swap_numbers, que troca seus valores. Finalmente, imprimimos os valores trocados de a e b.
Para executar o programa, use o comando:
g++ swap.cpp -o swap && ./swap
Escreva o código para trocar dois números usando os operadores * e /
Nesta etapa, escreveremos o código para trocar dois números usando os operadores * e /. O código deve receber dois números do usuário e trocá-los sem usar uma terceira variável.
// 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 << "Enter the value of a: ";
cin >> a;
cout << "Enter the value of b: ";
cin >> b;
cout << "Before swapping: " << endl;
cout << "a = " << a << endl;
cout << "b = " << b << endl;
swap_numbers(a, b);
cout << "After swapping: " << endl;
cout << "a = " << a << endl;
cout << "b = " << b << endl;
return 0;
}
Neste código também, criamos uma função swap_numbers que recebe dois argumentos inteiros e realiza a operação de troca. Recebemos dois números a e b do usuário e chamamos a função swap_numbers, que troca seus valores. Finalmente, imprimimos os valores trocados de a e b. Neste método de troca, usamos operações de multiplicação e divisão em vez de adição e subtração.
Para executar o programa, use o comando:
g++ swap.cpp -o swap && ./swap
Programa final
Aqui está o código completo para o programa swap.cpp que troca dois números pelos métodos de adição-subtração e multiplicação-divisão.
// 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 << "Enter the value of a: ";
cin >> a;
cout << "Enter the value of b: ";
cin >> b;
cout << "Before swapping: " << endl;
cout << "a = " << a << endl;
cout << "b = " << b << endl;
add_subtract_swap(a, b);
cout << "After swapping using + and - operators: " << endl;
cout << "a = " << a << endl;
cout << "b = " << b << endl;
multiply_divide_swap(a, b);
cout << "After swapping using * and / operators: " << endl;
cout << "a = " << a << endl;
cout << "b = " << b << endl;
return 0;
}
Compilar e executar
Para compilar e executar o programa, use o comando:
g++ swap.cpp -o swap && ./swap
O programa solicitará ao usuário dois números, que serão trocados tanto pela forma de adição-subtração quanto pela de multiplicação-divisão. A saída mostrará os valores iniciais de a e b, os valores trocados usando adição-subtração e os valores trocados usando multiplicação-divisão.
Resumo
A troca (swapping) é uma operação importante na programação e é frequentemente necessária em muitos algoritmos. Neste laboratório, aprendemos duas maneiras de trocar dois números sem usar uma terceira variável: usando adição-subtração e usando multiplicação-divisão. Também aprendemos como criar funções para realizar a operação de troca, tornando nosso código mais modular e fácil de ler.



