Check if a palindrome.

232 views (last 30 days)
Giuseppe
Giuseppe on 2 Apr 2014
Commented: Image Analyst on 16 Nov 2020
I have the script:
%1. Clear the memory and command window.
clear
clc
%2. Input a string.
string = input('What is your string: ', 's');
%3. Check if the string is a palindrome or not.
if string == fliplr(string);
disp (['The string, ' string ', is a palindrome.'])
else
disp (['The string, ' string ', is not a palindrome.'])
end
I want to make it so if the user enters anything but a word for the string it does not run and maybe instead of flipping the string comparing each cell. e.g if letter 1 is the same as the last letter, if letter 2 is the same as the second last letter. This method would be prefered. Also how would i make it so that that i could enter a cell array of striings and a vector of logical values was returned.

Accepted Answer

Image Analyst
Image Analyst on 2 Apr 2014
Looks almost identical to a question I answered a few days ago http://www.mathworks.com/matlabcentral/answers/123671#answer_131334. You need to cast to lower case and remove spaces. You can use inputdlg() to ask the user for several strings at a time and get a cell array.

More Answers (1)

Muhammad Rofi Al Gifari
Muhammad Rofi Al Gifari on 16 Nov 2020
%2. Input a string.
string = input('What is your string: ', 's');
%3. Check if the string is a palindrome or not.
if string == fliplr(string);
disp (['The string, ' string ', is a palindrome.'])
else
disp (['The string, ' string ', is not a palindrome.'])
end
  1 Comment
Image Analyst
Image Analyst on 16 Nov 2020
But isn't this just the poster's original code? How does this answer the user's question "if the user enters anything but a word for the string it does not run"?

Sign in to comment.

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!