Chương trình C ++ để hoán đổi hai số

Ví dụ này chứa hai kỹ thuật khác nhau để hoán đổi số trong lập trình C. Chương trình đầu tiên sử dụng biến tạm thời để hoán đổi số, trong khi chương trình thứ hai không sử dụng biến tạm thời.

Ví dụ 1: Hoán đổi số (Sử dụng biến tạm thời)

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

Đầu ra

Trước khi hoán đổi. a = 5, b = 10 Sau khi đổi chỗ. a = 10, b = 5

Để thực hiện hoán đổi trong ví dụ trên, ba biến được sử dụng.

Nội dung của biến đầu tiên được sao chép vào biến tạm thời. Sau đó, nội dung của biến thứ hai được sao chép vào biến đầu tiên.

Cuối cùng, nội dung của biến tạm thời được sao chép trở lại biến thứ hai để hoàn tất quá trình hoán đổi.

Bạn cũng có thể thực hiện hoán đổi chỉ bằng hai biến như bên dưới.

Ví dụ 2: Hoán đổi số mà không cần sử dụng biến tạm thời

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

Đầu ra của chương trình này giống như chương trình đầu tiên ở trên.

Hãy để chúng tôi xem chương trình này hoạt động như thế nào:

  1. Ban đầu, a = 5b = 10.
  2. Sau đó, chúng tôi thêm a và b và lưu trữ nó trong a với mã a = a + b. Điều này có nghĩa là a = 5 + 10. Vì vậy, a = 15bây giờ.
  3. Sau đó, chúng tôi sử dụng mã b = a - b. Điều này có nghĩa là b = 15 - 10. Vì vậy, b = 5bây giờ.
  4. Một lần nữa, chúng tôi sử dụng mã a = a - b. Điều này có nghĩa là a = 15 - 5. Vì vậy, cuối cùng a = 10,.

Do đó, các con số đã được hoán đổi.

Lưu ý: Chúng ta có thể sử dụng phép nhân và phép chia thay cho phép cộng và phép trừ. Tuy nhiên, điều này sẽ không hoạt động nếu một trong các số là 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 

thú vị bài viết...