Academic Integrity: tutoring, explanations, and feedback — we don’t complete graded work or submit on a student’s behalf.

Palindrome Tester Implement a function to recursively determine if a word is a p

ID: 3556443 • Letter: P

Question

Palindrome Tester

Implement a function to recursively determine if a word is a palindrome. A palindrome is a word, phrase, number, or other sequence of symbols or elements, whose meaning may be interpreted the same way in either forward or reverse direction. Famous examples include "Able was I ere I saw Elba", "A man, a plan, a canal: Panama".

Important questions to ask yourself:

The substr method of the string class will be useful. It takes the starting position of the first character to be copied as a substring and the number of characters to include in the substring.
Also useful is the length method. It returns the length of the string in question.

Examples:

The above example prints out: fia

Here is some code to get you started. Submit your modified palindrome function. Do not modify the main function. When testing your function don't forget to type the word on the command line after "a.out": ./a.out radar

Explanation / Answer

#include <iostream>
#include <string>

using std::cout;
using std::endl;
using std::string;

bool palindrome(string);

int main(int argc, char *argv[]) {

    string s = argc == 2 ? argv[1] : "redivider";

    if (palindrome(s)) {
        cout << """ << s << "" is a palindrome." << endl;
    }
    else {
        cout << """ << s << "" is not a palindrome." << endl;
    }

    return 0;
}

bool palindrome(string w) {

    // your code goes here
   int i,j;
   //convert string to lower case
   for(i=0;i<w.length();i++) w[i]=tolower(w[i]);
  
   //checking palindrome
   // iterate to half of the length from start and end respectively
   // and check if characters are same , if not the w is not palindrome.
   i=0,j=w.length()-1;
  
   while(i<j)
   {
        if(w[i]!=w[j])
       {
          cout<<i<<endl;
          return false;
       }
       i++;
       j--;
   }
   return true;

}

Please do rate me.. thanks alot