Program C ++ do zamiany dwóch liczb

Ten przykład zawiera dwie różne techniki zamiany liczb w programowaniu w C. Pierwszy program używa zmiennej tymczasowej do zamiany liczb, podczas gdy drugi program nie używa zmiennych tymczasowych.

Przykład 1: Zamień numery (przy użyciu zmiennej tymczasowej)

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

Wynik

Przed zamianą. a = 5, b = 10 Po zamianie. a = 10, b = 5

Aby wykonać zamianę w powyższym przykładzie, używane są trzy zmienne.

Zawartość pierwszej zmiennej jest kopiowana do zmiennej tymczasowej. Następnie zawartość drugiej zmiennej jest kopiowana do pierwszej zmiennej.

Na koniec zawartość zmiennej temp jest kopiowana z powrotem do drugiej zmiennej, co kończy proces zamiany.

Możesz również wykonać zamianę używając tylko dwóch zmiennych, jak poniżej.

Przykład 2: Zamień numery bez użycia zmiennych tymczasowych

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

Wynik tego programu jest taki sam, jak w przypadku pierwszego programu powyżej.

Zobaczmy, jak działa ten program:

  1. Początkowo a = 5i b = 10.
  2. Następnie dodajemy a i b i przechowujemy je w a z kodem a = a + b. To znaczy a = 5 + 10. Więc a = 15teraz.
  3. Następnie używamy kodu b = a - b. To znaczy b = 15 - 10. Więc b = 5teraz.
  4. Ponownie używamy kodu a = a - b. To znaczy a = 15 - 5. Więc w końcu a = 10.

W związku z tym liczby zostały zamienione.

Uwaga: zamiast dodawania i odejmowania możemy użyć mnożenia i dzielenia. Jednak to nie zadziała, jeśli jedną z liczb jest 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 

Interesujące artykuły...