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:
- Początkowo
a = 5
ib = 10
. - Następnie dodajemy a i b i przechowujemy je w a z kodem
a = a + b
. To znaczya = 5 + 10
. Więca = 15
teraz. - Następnie używamy kodu
b = a - b
. To znaczyb = 15 - 10
. Więcb = 5
teraz. - Ponownie używamy kodu
a = a - b
. To znaczya = 15 - 5
. Więc w końcua = 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