这哪错了?
#include <bits/stdc++.h>
using namespace std;
map<char,char> m;
bool hui(string s)
{
int l=0,r=s.size()-1;
while(l!=r)
{
if(s[l]!=s[r])
{
return false;
}
else
{
l++;
r--;
}
}
return true;
}
bool jing(string s);
int main()
{
string s;
m['A']='A';
m['E']='3';
m['H']='H';
m['I']='I';
m['J']='L';
m['L']='J';
m['M']='M';
m['O']='O';
m['S']='2';
m['T']='T';
m['U']='U';
m['V']='V';
m['W']='W';
m['X']='X';
m['Y']='Y';
m['Z']='5';
m['1']='1';
m['2']='S';
m['3']='E';
m['5']='Z';
m['8']='8';
//cout << jing("2A3MEAS");
while(cin >> s)
{
if(!hui(s)&&!jing(s))
{
cout << s << " -- "<< "is not a palindrome.\n\n";
}else if(hui(s)&&!jing(s))
{
cout << s << " -- " << "is a regular palindrome.\n\n";
}else if(!hui(s)&&jing(s))
{
cout << s << " -- " << "is a mirrored string.\n\n";
}else if(hui(s)&&jing(s))
{
cout << s << " -- " << "is a mirrored palindrome.\n\n";
}
}
return 0;
}
bool jing(string s)
{
string s1="";
for(int i=0;i<s.size();i++)
{
s1+=m[s[i]];
}
int cnt=0;
for(int i=s.size()-1;i>=0;i--)
{
if(s[cnt]!=s1[i])
{
//cout << s[i-(s.size()-1)] << " " << s1[i] << "\n";
return false;
}
cnt++;
}
return true;
}