Write a program that uses the function isPalindrome. Test your program on the following strings:
madam, abba, 22, 67876, 444244, trymeuemyrt
Modify the function isPalindrome of Example 6-6 so that when determining whether a string is a palindrome, cases are ignored, that is, uppercase and lowercase letters are considered the same.
The isPalindrome function from Example 6-6 has been included below for your convenience.
bool isPalindrome(string str)
{
int length = str.length();
for (int i = 0; i < length / 2; i++) {
if (str[i] != str[length – 1 – i]) {
return false;
} // if
} // for loop
return true;
}// isPalindrome
#include <iostream>
#include <string>
#include <cctype>
using namespace std;
bool isPalindrome(string str)
{
int length = str.length();
for (int i = 0; i < length / 2; i++) {
if (toupper(str[i]) != toupper(str[length - 1 - i])) {
return false;
} // if
} // for loop
return true;
}// isPalindrome
int main()
{
string aStr[] = {"Madam",
"ABBA",
"22",
"67876",
"444244",
"trymeuemyrt"};
for (int i=0; i<sizeof(aStr)/sizeof(aStr[0]); i++) {
cout << "The string \"" << aStr[i];
if (isPalindrome(aStr[i])) {
cout << "\" is";
}
else {
cout << "\" isn\'t";
}
cout << " a palindrome." << endl;
}
}
Comments
Leave a comment