Програма 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

Для здійснення обміну у наведеному вище прикладі використовуються три змінні.

Вміст першої змінної копіюється у змінну temp. Потім вміст другої змінної копіюється до першої змінної.

Нарешті, вміст змінної temp копіюється назад до другої змінної, яка завершує процес обміну.

Ви також можете виконати обмін, використовуючи лише дві змінні, як показано нижче.

Приклад 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 

Цікаві статті...