소개
두 숫자를 바꾸는 것은 그들의 값을 서로 교환하는 것을 의미합니다. 즉, 첫 번째 숫자의 초기 값은 이제 두 번째 숫자였던 값이 되어야 하고, 그 반대도 마찬가지입니다. 이 랩에서는 세 번째 변수를 사용하지 않고 두 숫자를 바꾸는 두 가지 방법을 배웁니다.
새 C++ 파일 생성
터미널을 열고 다음 명령어를 사용하여 프로젝트 디렉토리로 이동합니다.
cd ~/project
다음 명령어를 사용하여 swap.cpp라는 새로운 C++ 파일을 생성합니다.
touch swap.cpp
선호하는 코드 편집기에서 swap.cpp를 엽니다.
+ 및 - 연산자를 사용하여 두 숫자를 바꾸는 코드 작성
이 단계에서는 + 및 - 연산자를 사용하여 두 숫자를 바꾸는 코드를 작성합니다. 코드는 사용자로부터 두 개의 숫자를 입력받아 세 번째 변수를 사용하지 않고 서로 바꿉니다.
// swap.cpp
#include <iostream>
using namespace std;
void swap_numbers(int &x, int &y) {
x = x + y;
y = x - y;
x = x - y;
}
int main() {
int a, b;
cout << "Enter the value of a: ";
cin >> a;
cout << "Enter the value of b: ";
cin >> b;
cout << "Before swapping: " << endl;
cout << "a = " << a << endl;
cout << "b = " << b << endl;
swap_numbers(a, b);
cout << "After swapping: " << endl;
cout << "a = " << a << endl;
cout << "b = " << b << endl;
return 0;
}
이 코드에서는 두 개의 정수 인수를 받아 바꾸기 연산을 수행하는 swap_numbers 함수를 만들었습니다. 사용자로부터 두 개의 숫자 a와 b를 입력받아 swap_numbers 함수를 호출하여 값을 바꿉니다. 마지막으로, 바뀐 a와 b의 값을 출력합니다.
프로그램을 실행하려면 다음 명령어를 사용하십시오.
g++ swap.cpp -o swap && ./swap
* 및 / 연산자를 사용하여 두 숫자를 바꾸는 코드 작성
이 단계에서는 * 및 / 연산자를 사용하여 두 숫자를 바꾸는 코드를 작성합니다. 코드는 사용자로부터 두 개의 숫자를 입력받아 세 번째 변수를 사용하지 않고 서로 바꿉니다.
// swap.cpp
#include <iostream>
using namespace std;
void swap_numbers(int &x, int &y) {
x = x * y;
y = x / y;
x = x / y;
}
int main() {
int a, b;
cout << "Enter the value of a: ";
cin >> a;
cout << "Enter the value of b: ";
cin >> b;
cout << "Before swapping: " << endl;
cout << "a = " << a << endl;
cout << "b = " << b << endl;
swap_numbers(a, b);
cout << "After swapping: " << endl;
cout << "a = " << a << endl;
cout << "b = " << b << endl;
return 0;
}
이 코드에서도 두 개의 정수 인수를 받아 바꾸기 연산을 수행하는 swap_numbers 함수를 만들었습니다. 사용자로부터 두 개의 숫자 a와 b를 입력받아 swap_numbers 함수를 호출하여 값을 바꿉니다. 마지막으로, 바뀐 a와 b의 값을 출력합니다. 이 바꾸기 방법에서는 덧셈과 뺄셈 대신 곱셈과 나눗셈 연산을 사용합니다.
프로그램을 실행하려면 다음 명령어를 사용하십시오.
g++ swap.cpp -o swap && ./swap
최종 프로그램
다음은 덧셈 - 뺄셈 및 곱셈 - 나눗셈 방법을 사용하여 두 숫자를 모두 바꾸는 swap.cpp 프로그램의 전체 코드입니다.
// swap.cpp
#include <iostream>
using namespace std;
void add_subtract_swap(int &x, int &y) {
x = x + y;
y = x - y;
x = x - y;
}
void multiply_divide_swap(int &x, int &y) {
x = x * y;
y = x / y;
x = x / y;
}
int main() {
int a, b;
cout << "Enter the value of a: ";
cin >> a;
cout << "Enter the value of b: ";
cin >> b;
cout << "Before swapping: " << endl;
cout << "a = " << a << endl;
cout << "b = " << b << endl;
add_subtract_swap(a, b);
cout << "After swapping using + and - operators: " << endl;
cout << "a = " << a << endl;
cout << "b = " << b << endl;
multiply_divide_swap(a, b);
cout << "After swapping using * and / operators: " << endl;
cout << "a = " << a << endl;
cout << "b = " << b << endl;
return 0;
}
컴파일 및 실행
프로그램을 컴파일하고 실행하려면 다음 명령어를 사용하십시오.
g++ swap.cpp -o swap && ./swap
프로그램은 사용자에게 두 개의 숫자를 요청하고, 덧셈 - 뺄셈 및 곱셈 - 나눗셈 방식으로 모두 바꿉니다. 출력은 a와 b의 초기 값, 덧셈 - 뺄셈을 사용한 바뀐 값, 그리고 곱셈 - 나눗셈을 사용한 바뀐 값을 보여줍니다.
요약
스왑 (Swapping) 은 프로그래밍에서 중요한 연산이며, 많은 알고리즘에서 자주 필요합니다. 이 랩에서는 세 번째 변수를 사용하지 않고 두 숫자를 바꾸는 두 가지 방법, 즉 덧셈 - 뺄셈과 곱셈 - 나눗셈을 사용하는 방법을 배웠습니다. 또한 스왑 연산을 수행하는 함수를 생성하여 코드를 더 모듈화하고 읽기 쉽게 만드는 방법도 배웠습니다.



