Programa C ++ para trocar dois números

Este exemplo contém duas técnicas diferentes para trocar números na programação C. O primeiro programa usa variáveis ​​temporárias para trocar números, enquanto o segundo programa não usa variáveis ​​temporárias.

Exemplo 1: Números de troca (usando variável temporária)

 #include using namespace std; int main() ( int a = 5, b = 10, temp; cout << "Before swapping." << endl; cout << "a = " << a << ", b = " << b << endl; temp = a; a = b; b = temp; cout << "After swapping." << endl; cout << "a = " << a << ", b = " << b << endl; return 0; )

Resultado

Antes de trocar. a = 5, b = 10 Após a troca. a = 10, b = 5

Para realizar a troca no exemplo acima, três variáveis ​​são usadas.

O conteúdo da primeira variável é copiado para a variável temporária. Em seguida, o conteúdo da segunda variável é copiado para a primeira variável.

Finalmente, o conteúdo da variável temporária é copiado de volta para a segunda variável que completa o processo de troca.

Você também pode realizar a troca usando apenas duas variáveis, conforme abaixo.

Exemplo 2: trocar números sem usar variáveis ​​temporárias

 #include using namespace std; int main() ( int a = 5, b = 10; cout << "Before swapping." << endl; cout << "a = " << a << ", b = " << b << endl; a = a + b; b = a - b; a = a - b; cout << "After swapping." << endl; cout << "a = " << a << ", b = " << b << endl; return 0; )

O resultado deste programa é o mesmo do primeiro programa acima.

Vamos ver como funciona este programa:

  1. Inicialmente, a = 5e b = 10.
  2. Em seguida, adicionamos aeb e armazenamos em a com o código a = a + b. Isso significa a = 5 + 10. Então, a = 15agora.
  3. Então usamos o código b = a - b. Isso significa b = 15 - 10. Então, b = 5agora.
  4. Novamente, usamos o código a = a - b. Isso significa a = 15 - 5. Então, finalmente a = 10,.

Portanto, os números foram trocados.

Nota: podemos usar multiplicação e divisão em vez de adição e subtração. No entanto, isso não funcionará se um dos números for 0.

 int a = 5, b = 10; // using multiplication and division for swapping a = a * b; // a = 50 b = a / b; // b = 5 a = a / b; // a = 10 

Artigos interessantes...