C++ Write a function that uses a stack to test whether a given string (as a character array) is a palindrome. Exercise 14 asked you to write an algorithm for such a function Use the STL library stack. Although this solution can be solved with simple looping (and it is with the isPlaindromIterative function) - we want to demonstrate an understanding of stack structures to check for a palindrome. Key Topics Input accept a string (as a character array) add characters to the stack Processing push pop peek (top) Output use stack methods to check for palindromes Efficient Correct   bool isPalindromeStack(std::string word) { bool returnValue = true; /* Your Code Here*/ return returnValue; } #endif /* STUDENT_SOLUTION_CPP */   Main.cpp #include #include #include #include #include #include "studentSolution.hpp" using namespace std; bool isPlaindromIterative(string word) { int rightSearchIndex = word.length()-1; for(int leftSearchIndex=0; leftSearchIndex

Database System Concepts
7th Edition
ISBN:9780078022159
Author:Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Publisher:Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Chapter1: Introduction
Section: Chapter Questions
Problem 1PE
icon
Related questions
Question

C++

Write a function that uses a stack to test whether a given string (as a character array) is a palindrome. Exercise 14 asked you to write an algorithm for such a function

Use the STL library stack.

Although this solution can be solved with simple looping (and it is with the isPlaindromIterative function) - we want to demonstrate an understanding of stack structures to check for a palindrome.

Key Topics

Input

  • accept a string (as a character array)
  • add characters to the stack

Processing

  • push
  • pop
  • peek (top)

Output

  • use stack methods to check for palindromes
  • Efficient
  • Correct

 

bool isPalindromeStack(std::string word) {
bool returnValue = true;
/* Your Code Here*/
return returnValue;
}
#endif /* STUDENT_SOLUTION_CPP */

 

Main.cpp

#include <iostream>
#include <string>
#include <stdlib.h>
#include <stdio.h>
#include <time.h>
#include "studentSolution.hpp"

using namespace std;

bool isPlaindromIterative(string word) {
int rightSearchIndex = word.length()-1;
for(int leftSearchIndex=0; leftSearchIndex<rightSearchIndex; leftSearchIndex++, rightSearchIndex--)
if(word[leftSearchIndex] != word[rightSearchIndex])
return false;

return true;
}

int main() {
string testString;

cout << "Test01: Empty word" << endl;
testString = "";
cout << '\t' << testString << " correct answer: " << isPlaindromIterative(testString) << endl;
cout << '\t' << testString << " student answer: " << isPalindromeStack(testString) << endl;

cout << "Test02: Odd number palindrome" << endl;
testString = "racecar";
cout << '\t' << testString << " correct answer: " << isPlaindromIterative(testString) << endl;
cout << '\t' << testString << " student answer: " << isPalindromeStack(testString) << endl;

cout << "Test03: Even number palindrome" << endl;
testString = "tacoocat";
cout << '\t' << testString << " correct answer: " << isPlaindromIterative(testString) << endl;
cout << '\t' << testString << " student answer: " << isPalindromeStack(testString) << endl;

cout << "Test04: Non Palindrome" << endl;
testString = "bananaSlug";
cout << '\t' << testString << " correct answer: " << isPlaindromIterative(testString) << endl;
cout << '\t' << testString << " student answer: " << isPalindromeStack(testString) << endl;

Expert Solution
trending now

Trending now

This is a popular solution!

steps

Step by step

Solved in 6 steps with 3 images

Blurred answer
Similar questions
  • SEE MORE QUESTIONS
Recommended textbooks for you
Database System Concepts
Database System Concepts
Computer Science
ISBN:
9780078022159
Author:
Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Publisher:
McGraw-Hill Education
Starting Out with Python (4th Edition)
Starting Out with Python (4th Edition)
Computer Science
ISBN:
9780134444321
Author:
Tony Gaddis
Publisher:
PEARSON
Digital Fundamentals (11th Edition)
Digital Fundamentals (11th Edition)
Computer Science
ISBN:
9780132737968
Author:
Thomas L. Floyd
Publisher:
PEARSON
C How to Program (8th Edition)
C How to Program (8th Edition)
Computer Science
ISBN:
9780133976892
Author:
Paul J. Deitel, Harvey Deitel
Publisher:
PEARSON
Database Systems: Design, Implementation, & Manag…
Database Systems: Design, Implementation, & Manag…
Computer Science
ISBN:
9781337627900
Author:
Carlos Coronel, Steven Morris
Publisher:
Cengage Learning
Programmable Logic Controllers
Programmable Logic Controllers
Computer Science
ISBN:
9780073373843
Author:
Frank D. Petruzella
Publisher:
McGraw-Hill Education