회문(palindrome)은 단어, 숫자, 구 또는 앞뒤로 똑같이 읽는 일련의 문자입니다. madam, racecar 또는 숫자 10801과 같은 단어는 회문입니다.
주어진 문자열에 대해 문자열을 반대로 하여 동일한 문자열을 제공하면 주어진 문자열이 회문이라고 말할 수 있습니다. 즉, 회문을 확인하려면 첫 번째와 마지막, 두 번째와 마지막-1 등의 요소가 동일한지 여부를 찾아야 합니다.
입력 - 나만
출력 - 문자열은 회문입니다
입력 - 튜토리얼 포인트
출력 - 문자열은 회문이 아닙니다
C++ 프로그램에서 주어진 문자열이 회문인지 확인합니다. 입력한 문자열을 새로운 문자열로 복사한 후 문자열의 마지막 문자와 첫 번째 문자를 비교하고 마지막 두 번째 문자와 두 번째 문자를 비교하는 식으로 문자열 끝까지 비교합니다. 두 문자가 동일한 순서의 문자를 갖고 있는 경우, 즉 동일하면 문자열은 회문이고 그렇지 않은 경우에는 그렇지 않습니다.
예시
#include <iostream> #include<string.h> using namespace std; { int main(){ char string1[]={"naman"}; int i, length; int flag = 0; length = strlen(string1); for(i=0;i < length ;i++){ if(string1[i] != string1[length-i-1]) { flag = 1; break; } } if (flag==1){ printf(" string is not a palindrome"); } else { printf(" string is a palindrome"); } return 0; } }
출력
string is a palindrome
참고 - 프로그램은 대소문자를 구분합니다.