Introdução
Trocar dois números significa interverter seus valores. Neste laboratório, aprenderemos como trocar dois números na linguagem C usando diferentes métodos, como o uso de uma variável temporária, adição e subtração, operadores bitwise, multiplicação e divisão.
Nota: Você precisa criar o arquivo
~/project/main.cpor conta própria para praticar a codificação e aprender como compilar e executá-lo usando o gcc.
cd ~/project
## create main.c
touch main.c
## compile main.c
gcc main.c -o main
## run main
./main
Usando uma Variável Temporária
Podemos trocar dois números usando uma variável temporária seguindo estes passos:
- Declare três variáveis
x,yetemp. - Atribua valores a
xey. - Armazene o valor de
xemtemp. - Atribua o valor de
yax. - Atribua o valor de
tempay. - Imprima os valores de
xey.
#include <stdio.h>
int main() {
int x = 5, y = 7, temp;
// Step 3
temp = x;
// Step 4 and 5
x = y;
y = temp;
// Step 6
printf("After swapping, x = %d and y = %d\n", x, y);
return 0;
}
Usando Adição e Subtração
Podemos trocar dois números usando adição e subtração seguindo estes passos:
- Atribua valores a
xey. - Some
xeye atribua o resultado ax. - Subtraia o valor original de
ydexe atribua ay. - Subtraia o valor original de
ydo novo valor dexe atribua ax. - Imprima os valores de
xey.
#include <stdio.h>
int main() {
int x = 5, y = 7;
// Step 2 and 3
x = x + y;
y = x - y;
// Step 4
x = x - y;
// Step 5
printf("After swapping, x = %d and y = %d\n", x, y);
return 0;
}
Usando Operadores Bitwise
Podemos trocar dois números usando operadores bitwise seguindo estes passos:
- Atribua valores a
xey. - Faça XOR de
xeye atribua o resultado ax. - Faça XOR do novo valor de
xeye atribua o resultado ay. - Faça XOR do novo valor de
xeye atribua o resultado ax. - Imprima os valores de
xey.
#include <stdio.h>
int main() {
int x = 5, y = 7;
// Step 2 and 3
x = x ^ y;
y = x ^ y;
// Step 4
x = x ^ y;
// Step 5
printf("After swapping, x = %d and y = %d\n", x, y);
return 0;
}
Usando Multiplicação e Divisão
Podemos trocar dois números usando multiplicação e divisão seguindo estes passos:
- Atribua valores a
xey. - Multiplique
xeye atribua o resultado ax. - Divida o novo valor de
xporye atribua o resultado ay. - Divida o novo valor de
xpelo novo valor deye atribua o resultado ax. - Imprima os valores de
xey.
#include <stdio.h>
int main() {
int x = 5, y = 7;
// Step 2 and 3
x = x * y;
y = x / y;
// Step 4
x = x / y;
// Step 5
printf("After swapping, x = %d and y = %d\n", x, y);
return 0;
}
Resumo
Neste laboratório, aprendemos como trocar dois números usando quatro métodos diferentes: usando uma variável temporária, adição e subtração, operadores bitwise e multiplicação e divisão. Trocar dois números é útil em programação quando queremos mudar a ordem de dois valores ou realizar operações que exigem a troca dos valores de duas variáveis.



