Programme C ++ pour permuter deux nombres

Cet exemple contient deux techniques différentes pour échanger des nombres dans la programmation C. Le premier programme utilise des variables temporaires pour permuter les nombres, tandis que le second programme n'utilise pas de variables temporaires.

Exemple 1: permuter les numéros (à l'aide d'une variable temporaire)

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

Production

Avant d'échanger. a = 5, b = 10 Après échange. a = 10, b = 5

Pour effectuer la permutation dans l'exemple ci-dessus, trois variables sont utilisées.

Le contenu de la première variable est copié dans la variable temp. Ensuite, le contenu de la deuxième variable est copié dans la première variable.

Enfin, le contenu de la variable temporaire est recopié dans la deuxième variable qui termine le processus de permutation.

Vous pouvez également effectuer un échange en utilisant seulement deux variables comme ci-dessous.

Exemple 2: permuter les numéros sans utiliser de variables temporaires

 #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 sortie de ce programme est la même que celle du premier programme ci-dessus.

Voyons comment fonctionne ce programme:

  1. Initialement, a = 5et b = 10.
  2. Ensuite, nous ajoutons a et b et le stockons dans a avec le code a = a + b. Cela signifie a = 5 + 10. Alors, a = 15maintenant.
  3. Ensuite, nous utilisons le code b = a - b. Cela signifie b = 15 - 10. Alors, b = 5maintenant.
  4. Encore une fois, nous utilisons le code a = a - b. Cela signifie a = 15 - 5. Donc finalement, a = 10.

Par conséquent, les numéros ont été échangés.

Remarque: nous pouvons utiliser la multiplication et la division au lieu de l'addition et de la soustraction. Cependant, cela ne fonctionnera pas si l'un des nombres est 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 

Articles intéressants...