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...
0 个评论
采纳的回答
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 个评论
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
2020-3-18
2 个评论
Sriram Tadavarty
2020-3-18
Yes, you could use. It depends on the purpose of what you intended to do.
另请参阅
类别
在 Help Center 和 File 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!