//=========================================================
// File: HW_10d
// Programmer: Elaine Torrez
// Class: CMPR 121
//=========================================================
// Description:
// This program determines whether a word is
// a palindrome using list iterators.
//=========================================================
#include <iostream>
#include <list>
#include <string>
using namespace std;
int main()
{
list<char> characterList;
list<char>::iterator forwardIterator;
list<char>::reverse_iterator reverseIterator;
string userWord;
bool isPalindrome;
int index;
cout << "Enter a word: ";
cin >> userWord;
for (index = 0; index < userWord.length(); index++)
{
characterList.push_back(userWord[index]);
}
isPalindrome = true;
forwardIterator = characterList.begin();
reverseIterator = characterList.rbegin();
while (forwardIterator != characterList.end())
{
if (*forwardIterator != *reverseIterator)
{
isPalindrome = false;
break;
}
forwardIterator++;
reverseIterator++;
}
cout << endl;
if (isPalindrome == true)
{
cout << userWord
<< " is a palindrome."
<< endl;
}
else
{
cout << userWord
<< " is NOT a palindrome."
<< endl;
}
return 0;
}