#include<stdio.h>
#include<string.h>
#include<algorithm>
using namespace std;
int main()
{
char str[30],str1[30],str2[30],str3[30];
int i,a,b,len;
while(gets(str))
{
len=strlen(str);
strcpy(str1,str);
strcpy(str3,str);
reverse(str1,str1+len);
if(strcmp(str1,str)==0)
{
b=0;
for(i=0; i<len; i++)
{
if(str[i]=='1'||str[i]=='8'||str[i]=='A'||str[i]=='H'||str[i]=='I'||str[i]=='M'||str[i]=='O'||str[i]=='T'||str[i]=='U'||str[i]=='V'||str[i]=='W'||str[i]=='X'||str[i]=='Y')
{
b++;
}
}
if(b==len)
{
printf("%s -- is a mirrored palindrome.\n\n",str3);
memset(str,'\0',sizeof(str));
memset(str1,'\0',sizeof(str1));
memset(str2,'\0',sizeof(str2));
memset(str3,'\0',sizeof(str3));
}
else
{
printf("%s -- is a regular palindrome.\n\n",str3);
memset(str,'\0',sizeof(str));
memset(str1,'\0',sizeof(str1));
memset(str2,'\0',sizeof(str2));
memset(str3,'\0',sizeof(str3));
}
}
else if(strcmp(str1,str)!=0)
{
for(i=0; i<len; i++)
{
if(str[i]=='2')
{
str[i]='S';
}
else if(str[i]=='3')
{
str[i]='E';
}
else if(str[i]=='5')
{
str[i]='Z';
}
else if(str[i]=='J')
{
str[i]='L';
}
}
strcpy(str2,str);
reverse(str2,str2+len);
if(strcmp(str2,str)==0)
{
a=0;
for(i=0; i<len; i++)
{
if(str[i]=='S'||str[i]=='E'||str[i]=='Z'||str[i]=='L'||str[i]=='1'||str[i]=='8'||str[i]=='A'||str[i]=='H'||str[i]=='I'||str[i]=='M'||str[i]=='O'||str[i]=='T'||str[i]=='U'||str[i]=='V'||str[i]=='W'||str[i]=='X'||str[i]=='Y')
{
a++;
}
}
if(a==len)
{
printf("%s -- is a mirrored string.\n\n",str3);
memset(str,'\0',sizeof(str));
memset(str1,'\0',sizeof(str1));
memset(str2,'\0',sizeof(str2));
memset(str3,'\0',sizeof(str3));
}
else
{
printf("%s -- is not a palindrome.\n\n",str3);
memset(str,'\0',sizeof(str));
memset(str1,'\0',sizeof(str1));
memset(str2,'\0',sizeof(str2));
memset(str3,'\0',sizeof(str3));
}
}
else
{
printf("%s -- is not a palindrome.\n\n",str3);
memset(str,'\0',sizeof(str));
memset(str1,'\0',sizeof(str1));
memset(str2,'\0',sizeof(str2));
memset(str3,'\0',sizeof(str3));
}
}
}
return 0;
}
#include<string.h>
#include<algorithm>
using namespace std;
int main()
{
char str[30],str1[30],str2[30],str3[30];
int i,a,b,len;
while(gets(str))
{
len=strlen(str);
strcpy(str1,str);
strcpy(str3,str);
reverse(str1,str1+len);
if(strcmp(str1,str)==0)
{
b=0;
for(i=0; i<len; i++)
{
if(str[i]=='1'||str[i]=='8'||str[i]=='A'||str[i]=='H'||str[i]=='I'||str[i]=='M'||str[i]=='O'||str[i]=='T'||str[i]=='U'||str[i]=='V'||str[i]=='W'||str[i]=='X'||str[i]=='Y')
{
b++;
}
}
if(b==len)
{
printf("%s -- is a mirrored palindrome.\n\n",str3);
memset(str,'\0',sizeof(str));
memset(str1,'\0',sizeof(str1));
memset(str2,'\0',sizeof(str2));
memset(str3,'\0',sizeof(str3));
}
else
{
printf("%s -- is a regular palindrome.\n\n",str3);
memset(str,'\0',sizeof(str));
memset(str1,'\0',sizeof(str1));
memset(str2,'\0',sizeof(str2));
memset(str3,'\0',sizeof(str3));
}
}
else if(strcmp(str1,str)!=0)
{
for(i=0; i<len; i++)
{
if(str[i]=='2')
{
str[i]='S';
}
else if(str[i]=='3')
{
str[i]='E';
}
else if(str[i]=='5')
{
str[i]='Z';
}
else if(str[i]=='J')
{
str[i]='L';
}
}
strcpy(str2,str);
reverse(str2,str2+len);
if(strcmp(str2,str)==0)
{
a=0;
for(i=0; i<len; i++)
{
if(str[i]=='S'||str[i]=='E'||str[i]=='Z'||str[i]=='L'||str[i]=='1'||str[i]=='8'||str[i]=='A'||str[i]=='H'||str[i]=='I'||str[i]=='M'||str[i]=='O'||str[i]=='T'||str[i]=='U'||str[i]=='V'||str[i]=='W'||str[i]=='X'||str[i]=='Y')
{
a++;
}
}
if(a==len)
{
printf("%s -- is a mirrored string.\n\n",str3);
memset(str,'\0',sizeof(str));
memset(str1,'\0',sizeof(str1));
memset(str2,'\0',sizeof(str2));
memset(str3,'\0',sizeof(str3));
}
else
{
printf("%s -- is not a palindrome.\n\n",str3);
memset(str,'\0',sizeof(str));
memset(str1,'\0',sizeof(str1));
memset(str2,'\0',sizeof(str2));
memset(str3,'\0',sizeof(str3));
}
}
else
{
printf("%s -- is not a palindrome.\n\n",str3);
memset(str,'\0',sizeof(str));
memset(str1,'\0',sizeof(str1));
memset(str2,'\0',sizeof(str2));
memset(str3,'\0',sizeof(str3));
}
}
}
return 0;
}
0 comments: (+add yours?)
Post a Comment