How do you write a finction for TwoSums
3 views (last 30 days)
Show older comments
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
0 Comments
Accepted Answer
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)
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
More Answers (0)
See Also
Categories
Find more on Logical in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!