elements of array are odd or even

2 次查看(过去 30 天)
clear all
clc
a=round(0+9*rand(10,1));
for n=a
if mod(n,2)==0
disp(n),disp('is even')
elseif n==0
disp(n),disp('is 0')
else
disp(n),disp('is odd')
end
end
the program must check which of the numbers of array are even or odd?but it doesnt work correctly...

采纳的回答

Sriram Tadavarty
Sriram Tadavarty 2020-3-18
Hi Pooneh,
The following updates will perform what is looked for
clear all
clc
a=round(0+9*rand(10,1));
for n=1:length(a) % For loop from 1 to length(a), then access each element of a with n, display n
if mod(a(n),2)==0
disp(num2str(n) + " is even")
elseif n==0
disp(num2str(n) + " is 0")
else
disp(num2str(n) + " is odd")
end
end
Hope this helps.
Regards,
Sriram
  2 个评论
pooneh shabdini
pooneh shabdini 2020-3-18
Hi:) Thank you...but Do you know why my way doesn't work?
Sriram Tadavarty
Sriram Tadavarty 2020-3-18
I can help you understand your code. In your code, you have placed the loop for n = a, here is a is a vector, which implies n is the complete vector but not the single element of the vector. As this is vector that is passed in to the conditions, there is not case satisfied this, going with the else statement. There by not giving what you expected.
So, the modification is made to loop it across each element in the code.
Hope this helps. Regards, Sriram

请先登录,再进行评论。

更多回答(1 个)

pooneh shabdini
pooneh shabdini 2020-3-18
Thanks again But I've read we can use a vector in this way in for loop....

类别

Help CenterFile Exchange 中查找有关 Scope Variables and Generate Names 的更多信息

标签

Community Treasure Hunt

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

Start Hunting!

Translated by