Програма C ++ за размяна на две числа

Този пример съдържа две различни техники за размяна на числа при програмиране на C. Първата програма използва временна променлива за размяна на числа, докато втората програма не използва временни променливи.

Пример 1: Размяна на номера (с използване на временна променлива)

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

Изход

Преди размяна. a = 5, b = 10 След размяна. a = 10, b = 5

За да се извърши размяна в горния пример, се използват три променливи.

Съдържанието на първата променлива се копира във временната променлива. След това съдържанието на втората променлива се копира в първата променлива.

И накрая, съдържанието на временната променлива се копира обратно във втората променлива, която завършва процеса на размяна.

Можете също да извършите размяна, като използвате само две променливи, както е показано по-долу.

Пример 2: Разменете числата, без да използвате временни променливи

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

Резултатът от тази програма е същият като първата програма по-горе.

Нека видим как работи тази програма:

  1. Първоначално a = 5и b = 10.
  2. След това добавяме a и b и ги съхраняваме в a с кода a = a + b. Това означава a = 5 + 10. И така, a = 15сега.
  3. След това използваме кода b = a - b. Това означава b = 15 - 10. И така, b = 5сега.
  4. Отново използваме кода a = a - b. Това означава a = 15 - 5. Така че накрая a = 10,.

Следователно номерата са разменени.

Забележка: Можем да използваме умножение и деление вместо събиране и изваждане. Това обаче няма да работи, ако едно от числата е 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 

Интересни статии...