"At least one 'end' is missing: the statement may begin here"

9 views (last 30 days)
k=1
for k=1:20
disp(k)
if mod(k,2)==0
disp("na")
if mod(k,3)==0
disp("ba")
if mod(k,5)==0
disp("mo")
else
disp("gano")
end
end

Answers (1)

stozaki
stozaki on 13 Jan 2020
Please try following script.
k=1
for k=1:20
disp(k)
if mod(k,2)==0
disp("na")
elseif mod(k,3)==0
disp("ba")
elseif mod(k,5)==0
disp("mo")
else
disp("gano")
end
end
Regards,
stozaki
  2 Comments
Cole Bromfield
Cole Bromfield on 13 Jan 2020
I need it to display every syllable that applies though. For example, if a number is divisible by both 2 and 5, I need "namo" to be displayed. With that code, it just displays "na"
stozaki
stozaki on 13 Jan 2020
How about using the highest priority decision in the if clause?
k=1
for k=1:20
disp(k)
if mod(k,5)==0 && mod(k,2)==0
disp("namo")
elseif mod(k,3)==0
disp("ba")
elseif mod(k,5)==0
disp("mo")
elseif mod(k,2)==0
disp("na")
else
disp("gano")
end
end
Regards
stozaki

Sign in to comment.

Categories

Find more on Reporting and Database Access in Help Center and File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!