1. Palindrome Coding trouble

I am trying to code a Palindrome program...I keep on getting a runtime error called

Index out of range: 3 string: mom

yeah I can't figure out why though...here's my code
Code:
void Palindrome()
{
apstring Input;
apvector<char> Word;
apvector<char> ReversedWord;
int Length = 0;
int c = 0;
int d = 0;
bool Palindrome = true;

cout << endl;
cout << "Enter in a word to see if it is a palindrome: ";
cin >> Input;

ToLower(Input);
Length = Input.length();

Word.resize(Length);
ReversedWord.resize(Length);

for(int b = Length; b > 0 ; b--)
{
Word[d] = Input[b];
d++;
}

for(int i = Length; i > 0; i--)
{
ReversedWord[c] = Word[i];
c++;
}

for (int e = 0; e < Length; e++)
{
if(ReversedWord[e] == Word[e])
{Palindrome = true;}
else
{Palindrome = false;}
}

if (Palindrome == true)
{cout << "This word is a palindrome." << endl;}
else
{cout << "This word is not a palindrome." << endl;}

}
yeah this is it by the way my headers are

<iostream.h>
<strutils.h>
<apstring.h>
"apvector.h"

2. try this:

Code:
apstring Input("temporary");
it has to do with that space is not alloted for the string. i am not quite sure why, it has done that to me as well.

if you pass it as a parameter, you could avoid asking for them to input the word into the function.

3. meh same error still...I would just use vectors but the problem is knowing what size to put it at for efficiency(sp?)...so I use a apstring to get the word and its length...and use the length for the size of the vector...but the part that I think screws it up is transferring the apstring into the vector....so yeah I can't figure it out still...offer idea's that are most help ful....

4. meh nvm I finished coding it myself....