Function for even or odd numbers
    18 views (last 30 days)
  
       Show older comments
    
I am trying to solve the following exercice:
Write a function that fulfill the following task: Return 1 if all elements of an input vector are even and 0 else.
My answer:
function y = iseven(v)
% return the value 1 if all arguments are even, otherwise it return the value 0.
% INPUT   v   1xn .. elements of the vector v.
% OUTPUT  y   1x1 .. either 1 or 0.
% USAGE   iseven(v)
a = rem(v,2);
b = sum(a);
if b==0;y=1;end
if b~=0;y=0;end
Unfortunantly this is not working for the vector -2 -1  0  1  2
Can someone help me to find a solution?
3 Comments
  Adam
      
      
 on 9 Oct 2019
				The rem function returns a negative result when given a negative input so just summing these will not give what you want.  e.g. on the input that fails for you
>> a = rem( v, 2 )
a =
     0    -1     0     1     0   
You should get used to using the debugger and command line to test these things out.  Then you will easily see this for the given input and can work towards improving your solution.
Or you could just pick up a completely different ready made solution from a forum of course rather than learning to evolve your solution into a correct one...
Answers (1)
See Also
Categories
				Find more on Function Creation in Help Center and File Exchange
			
	Products
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!



