소개
이 랩에서는 주어진 문자열을 거꾸로 표시하는 C++ 프로그램을 작성하는 방법을 배우게 됩니다. C++ 에서 주어진 문자열을 뒤집는 방법에는 여러 가지가 있습니다. 여기서는 두 가지 다른 방법을 살펴볼 것입니다: 직접 구축할 사용자 정의 reverse 함수를 사용하는 방법과 C++ 내장 reverse 함수를 사용하는 방법입니다.
이 랩에서는 주어진 문자열을 거꾸로 표시하는 C++ 프로그램을 작성하는 방법을 배우게 됩니다. C++ 에서 주어진 문자열을 뒤집는 방법에는 여러 가지가 있습니다. 여기서는 두 가지 다른 방법을 살펴볼 것입니다: 직접 구축할 사용자 정의 reverse 함수를 사용하는 방법과 C++ 내장 reverse 함수를 사용하는 방법입니다.
먼저, 주어진 문자열을 뒤집는 사용자 정의 함수를 작성해 보겠습니다. 이 함수는 첫 번째 문자를 마지막 문자와 바꾸고, 두 번째 문자를 뒤에서 두 번째 문자와 바꾸는 식으로 전체 문자열이 뒤집힐 때까지 진행합니다.
reverseStr 함수를 생성하고 문자열을 참조로 전달합니다. 이렇게 하면 새로운 문자열을 반환하는 대신 원래 문자열을 수정할 수 있습니다. 이 함수는 문자열의 양쪽에서 문자를 교환하는 for 루프를 가지며, 전체 문자열이 뒤집힐 때까지 점차적으로 안쪽으로 진행합니다.
#include<iostream>
#include<string>
using namespace std;
void reverseStr(string& str) {
int n = str.length();
for (int i = 0; i < n / 2; i++) {
swap(str[i], str[n - i - 1]);
}
}
C++ 는 또한 <algorithm> 헤더 파일에 있는 문자열을 뒤집는 내장 함수를 제공합니다. 뒤집을 문자열의 시작과 끝 위치를 전달하여 reverse() 함수를 사용할 수 있습니다.
#include<iostream>
#include<string>
#include<algorithm>
using namespace std;
int main() {
string str = "hello";
reverse(str.begin(), str.end());
cout << str;
return 0;
}
위에서 언급한 방법 중 하나를 사용하여 프로그램을 테스트해 보겠습니다. 이렇게 하려면 방금 생성한 함수 또는 내장 reverse() 함수를 호출하기만 하면 됩니다. 뒤집고 싶은 문자열을 함수의 인수로 전달합니다.
#include<iostream>
#include<string>
#include<algorithm>
using namespace std;
void reverseStr(string& str) {
int n = str.length();
for (int i = 0; i < n / 2; i++) {
swap(str[i], str[n - i - 1]);
}
}
int main() {
string myString = "Hello World!"; //define a string to be reversed
//Method 1
cout << "REVERSED STRING USING CUSTOM FUNCTION:\n";
reverseStr(myString); //calling the custom function to reverse the string
cout << myString << endl;
//Method 2
cout << "\nREVERSED STRING USING INBUILT 'REVERSE' FUNCTION:\n";
reverse(myString.begin(), myString.end()); //calling the inbuilt function to reverse the string
cout << myString << endl;
return 0;
}
이 랩에서는 주어진 문자열을 거꾸로 표시하는 C++ 프로그램을 작성하는 방법을 배웠습니다. 자체적으로 생성한 사용자 정의 함수를 사용하는 방법과 C++ 의 내장 reverse 함수를 사용하는 두 가지 다른 방법을 살펴보았습니다. 또한 함수를 호출하여 두 가지 방법 모두를 사용하여 프로그램을 테스트했습니다. 이제 어떤 문자열이든 순식간에 뒤집을 수 있습니다!