|
Here is the program to check if the
entered string is a palindrome or not. As we have seen in the
earlier
cases, Palindrome is a string segment, which reads same from
both the directions. The same method is implemented here in the
program also.
Logic : The given string is reversed using a
method, which puts the reversed string in the resultant string
from the EOL (End Of Line). After reversing, it compares if
strings are one and the same. If so, sets a flag, "pal" as
true (i.e. 1), and hence prints out the result.
The problem can also solved in a bit sophisticated method,
where we check
without reversing the string, but directly. |
|
|
|
#include<stdio.h>
#include<conio.h>
int stpal(char str1[50], char str2[50]);
void main()
{
char str[50], rev[50];
int pal;
clrscr();
printf("\n\n\t ENTER A STRING...: ");
gets(str);
pal = stpal(str, rev);
printf("\n\t THE REVERSED STRING IS...: ");
puts(rev);
if(pal)
printf("\n\t
THE ENTERED STRING IS A PALINDROME");
else
printf("\n\t
THE ENTERED STRING IS NOT A PALINDROME");
getch();
}
int stpal(char str1[50], char str2[50])
{
int i = 0, len = 0, r = 0, pal = 1;
while(str1[len]!='\0')
len++;
for(i=len-1; i>=0; i--)
{
str2[r] =
str1[i];
r++;
}
str2[r] = '\0';
for(i=0; i<=len-1; i++)
{
if(str1[i] ==
str2[i])
pal = 1;
else
{
pal = 0;
break;
}
}
return pal;
}
Download exe and source code here.
Related source codes :
Select program from the list |