Beispiel #1
0
int testPalindrome(const char string[], char palindrome[], int start, int end) {
  palindrome[start] = string[end];
  if(end > 0)
    testPalindrome(string, palindrome, start+1, end-1);
  else
    return strEquals(string,  palindrome, SIZE);
}
Beispiel #2
0
int main() {
  char string[] = "radar";
  char palindrome[SIZE];
  
  printf("%d", testPalindrome(string, palindrome, 0, SIZE-1));
  
  return 0;
}
/*
 * Tests if given string is palindrome
 * @param const std::string&
 * @param int
 * @param int start = 0
 * @return bool
 */
bool testPalindrome(const std::string &st, int end, int start) {
    // only one char
    if (start >= end) { return true; }

    // start and end do not match
    if (st[start] != st[end]) { return false; }

    return testPalindrome(st, --end, ++start);
}
int main(int argc, const char *argv[]) {
    std::string test1 = "not a palindrome";
    std::string test2 = "able was i ere i saw elba";
    std::string test3 = "stressed rats on paws swap no star desserts";

    std::cout << "A program to recursively test if strings are palindromes\n\n";

    std::cout << ((testPalindrome(test1, test1.length() - 1)) ? "TRUE: "
                                                              : "FALSE: ")
              << test1 << std::endl;
    std::cout << ((testPalindrome(test2, test2.length() - 1)) ? "TRUE: "
                                                              : "FALSE: ")
              << test2 << std::endl;
    std::cout << ((testPalindrome(test3, test3.length() - 1)) ? "TRUE: "
                                                              : "FALSE: ")
              << test3 << std::endl;

    return 0;
}
Beispiel #5
0
int main() {
    char a[SIZE];
    gets( a );


    puts(a);
    elimiArray( a );
    puts(a);


    printf("%d", strlen(a) );


    if ( testPalindrome( a, 0, strlen(a) - 1 ) == 1 )
        printf( "YES\n" );


    return 0;
}