Check if a palindrome.

434 views (last 30 days)
Giuseppe
Giuseppe on 2 Apr 2014
Edited: DGM on 8 Mar 2022
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)

RAGHAVENDRA NAIK
RAGHAVENDRA NAIK on 8 Mar 2022
Edited: DGM on 8 Mar 2022
sum=0;
n=input('Tell me a number \n');
count=input('no. of digits\n')
x=n;
if (count>=2)
for i=1:n
if (n>0)
r=round(rem(n,10)-0.1);
sum=sum*10+r;
n=round((n/10)-0.1);
c=x-sum;
else
break
end
end
if (c==0)
disp('the no. is palindrome');
else
disp('the no. is not palindrome');
end
else
disp('the no. is not palindrome');
end

Categories

Find more on Cell Arrays in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by