Program to check whether the given string is a Palindrome




Hello friends..

Writing a program is a common thing if you are a CS students and in the beginning its very difficult some times  to write the programs .. Hence  we thought to share some basic programs  which is quit useful for you all while writing assignments or practicals.

 Here sharing  a program to check whether the given string is a Palindrome .  If you are thinking what is it then  Palindrome is a string, which when read in both forward and backward way is same.
Example: radar, madam, pop, lol, Malayalam


#include
#include
int main(){
char string1[20 ];
int i, length;
int flag = 0;
printf("Enter a string: \n");
scanf("%s" , string1);
length = strlen(str ing1);
for(i=0;i<length ;i++){
if(string1 [i] != string1[le ngth-i-1]) {
flag = 1;
break;
}
}
if (flag){
printf("%s is not a palindrome \n", string1);
}
else{
printf("%s is a palindrome \n", string1);
}
return 0;
}
Output:
Enter a string: radar
"radar"is a palindrome

Explanation with example for making it easy to understand.


To check if a string is a palindrome or not, a string needs to be compared with the reverse of itself.
Consider a palindrome string:"radar",
---------- ---------- -------
index: 0 1 2 3 4
value: r a d a r
---------- ---------- -------

To compare it with the reverse of itself, the following logic is used:
0th character in the char array, string1 is same as 4th character in the same string.
1st character is same as 3rd character.
2nd character is same as 2nd character.

i'th character is same as 'length-i- 1'th character.
If any one of the above condition fails, flag is set to true(1), which implies that the string is not a palindrome .
By default, the value of flag is false(0). Hence, if all the conditions are satisfied, the string is a palindrome .


No comments:

Post a Comment