Answer:
Here is the bool function isPalindrome:
bool isPalindrome(string s)
{ bool palindrome;
int j;
int len = s.length();
for (int i =0, j= len-1; i < len/2; i++, j--)
if (s[i] == s[j])
palindrome = true;
else
palindrome = false;
return palindrome; }
Explanation:
The bool function isPalindrome takes a string as parameter and returns true if the string is a palindrome or false if the string is not palindrome. The string variable s holds the string value. In function isPalindrome, there is a bool type variable palindrome. bool is a data type which is used to hold values true or false which is then stored in the palindrome variable.
Next it is being found that how many characters are there in the input string using length() function which returns the length of the string. The length of the string is stored in int type variable len.
Next the for loop starts which has two variables i and j where i starts at 0 position of the input string and j starts at the last position of the string. These two variables move or traverse along the string this way. i variable stops when half the length of the input string is reached. At the end of every iteration i moves forward by the increment of its value to 1 and j moves backwards by the decrement of its value to 1.
Every the body of the loop executes, there is an if condition in the body of the loop which checks if the string is a palindrome. This is checked by matching the character at position/index i with the character at position j of the string. This will continue character by character until the i reached half the length of the input string and if every character in i was matched to every character in j then palindrome = true; statement is executed which returns true as the string is a palindrome otherwise palindrome = false; is returned as the string is not a palindrome.
For taking input string from the user and to check if the function isPalindrome() works correctly a main() function is written which takes input string from the user and reads in variable str calls isPalindrome() function. If the string is palindrome then the cout statement in main() function prints the message: String is a palindrome and if the input string is not a palindrome the the following message is displayed in the output screen: String is not a palindrome
int main()
{
string str;
cout<<"Enter a string: ";
cin>>str;
if(isPalindrome(str))
cout<<"String is a palindrome";
else
cout<<"String is not a palindrome";
}
The screenshot of the program along with the output is attached.