How do you write a finction for TwoSums

3 views (last 30 days)
It should take in an array of numbers and return the sum of odd numbers and the sum of even numbers. For example: [s1 s2] = TwoSums ([3 2 4 7 8]) %should return 10 and 14 [s1 s2] = TwoSums ([-1 -2 9 6 5 8]) %should return 13 and 12

Accepted Answer

Chandrasekhar
Chandrasekhar on 4 Mar 2014
Edited: Chandrasekhar on 4 Mar 2014
arr = input('enter an array of numbers: ')
[s1 s2] = TwoSums(arr)
Function:
function [sum1,sum2] = TwoSums(arr)
sum1 = 0;
sum2 = 0;
for i = 1:length(arr)
if(rem(arr(i),2)==1)
sum1 = sum1+arr(i);
else
sum2= sum2+arr(i);
end
end
Please Accept the answer
  1 Comment
Jos (10584)
Jos (10584) on 4 Mar 2014
REM is vectorized!
isodd = rem(A,2)==1 % true for odd values in A
s1 = sum(A(isodd)) % sum of odd values
s2 = sum(A(~isodd)) % sum of even values

Sign in to comment.

More Answers (0)

Community Treasure Hunt

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

Start Hunting!