Programa C ++ para intercambiar dos números

Este ejemplo contiene dos técnicas diferentes para intercambiar números en la programación C. El primer programa usa variables temporales para intercambiar números, mientras que el segundo programa no usa variables temporales.

Ejemplo 1: intercambiar números (usando variable temporal)

 #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; )

Salida

Antes de cambiar. a = 5, b = 10 Después de intercambiar. a = 10, b = 5

Para realizar el intercambio en el ejemplo anterior, se utilizan tres variables.

El contenido de la primera variable se copia en la variable temporal. Luego, el contenido de la segunda variable se copia en la primera variable.

Finalmente, el contenido de la variable temporal se copia de nuevo a la segunda variable que completa el proceso de intercambio.

También puede realizar el intercambio utilizando solo dos variables como se muestra a continuación.

Ejemplo 2: intercambiar números sin usar variables temporales

 #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; )

La salida de este programa es la misma que la del primer programa anterior.

Veamos cómo funciona este programa:

  1. Inicialmente a = 5y b = 10.
  2. Luego, agregamos ayby ​​lo almacenamos en a con el código a = a + b. Esto significa a = 5 + 10. Entonces, a = 15ahora.
  3. Luego usamos el código b = a - b. Esto significa b = 15 - 10. Entonces, b = 5ahora.
  4. Nuevamente usamos el código a = a - b. Esto significa a = 15 - 5. Así que finalmente a = 10.

Por lo tanto, los números se han intercambiado.

Nota: Podemos utilizar la multiplicación y la división en lugar de la suma y la resta. Sin embargo, esto no funcionará si uno de los números es 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 

Articulos interesantes...