
The only change I made was changed
' int main(int argv, char *argc[]) '
to
'void main()'
But.. Can't we actually use command line args while submitting our program??

Moderator: Board moderators
Code: Select all
#include <stdio.h>
#include <string.h>
char in[50];
void check()
{
char a1[] = {'A', 'E', 'H', 'I', 'J', 'L', 'M', 'O', 'S', 'T', 'U', 'V', 'W',
'X', 'Y', 'Z', '1', '2', '3', '5', '8'};
char a2[] = {'A', '3', 'H', 'I', 'L', 'J', 'M', 'O', '2', 'T', 'U', 'V', 'W',
'X', 'Y', '5', '1', 'S', 'E', 'Z', '8'};
int len = strlen(in);
int i, j, k, half;
int pdrome = 1, mirror = 1;
half = len / 2;
for(i=0, j=len-1; i<half; i++, j--)
{
if(in[i]!=in[j]) pdrome = 0;
for(k=0; k<21; k++)
{
if(in[i]==a1[k])
{
if(in[j]!=a2[k])
{
mirror = 0;
break;
}
}
}
}
if(len%2==1 && mirror)
{
mirror = 0;
i = half;
for(k=0; k<21; k++)
{
if(in[i]==a1[k])
{
if(a1[k]==a2[k])
mirror = 1;
break;
}
}
}
if(pdrome && mirror)
printf("%s -- is a mirrored palindrome.\n\n", in);
else if(pdrome)
printf("%s -- is a regular palindrome.\n\n", in);
else if(mirror)
printf("%s -- is a mirrored string.\n\n", in);
else
printf("%s -- is not a palindrome.\n\n", in);
}
void main()
{
while(scanf("%s", in)==1)
{
check();
}
}