How do you write a finction for TwoSums

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

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

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!