Cody

# Problem 44484. Separate even from odd numbers in a vector - with a loop

Solution 1410996

Submitted on 9 Jan 2018 by baruch braude
This solution is locked. To view this solution, you need to provide a solution of the same size or smaller.

### Test Suite

Test Status Code Input and Output
1   Pass
filetext = fileread('oddEven.m'); assert(isempty(strfind(filetext, 'regexp')),'regexp hacks are forbidden')

2   Pass
filetext = fileread('oddEven.m'); loopUsed = ~isempty(strfind(filetext, 'while')) || ~isempty(strfind(filetext, 'for')); assert(loopUsed, 'Must use at least one loop')

3   Pass
v = []; w_correct = []; assert(isequal(oddEven(v),w_correct))

m = 0 n = 0 v = [] odd = [] even = [] w = []

4   Pass
v = [2; 7; 0; 3; 2]; w_correct = [7; 3; 2; 0; 2]; assert(isequal(oddEven(v),w_correct))

m = 5 n = 1 v = 1.0000 3.5000 0 1.5000 1.0000 odd = [] even = [] odd = 1 even = 3.5000 odd = 1 0 even = 3.5000 1.5000 odd = 1 0 1 w = 7 3 2 0 2

5   Pass
v = [1, 0, 2, 9, 3, 8, 8, 4]; w_correct = [1, 9, 3, 0, 2, 8, 8, 4]; assert(isequal(oddEven(v),w_correct))

m = 1 n = 8 v = 0.5000 0 1.0000 4.5000 1.5000 4.0000 4.0000 2.0000 odd = [] even = [] even = 0.5000 odd = 0 odd = 0 1 even = 0.5000 4.5000 even = 0.5000 4.5000 1.5000 odd = 0 1 4 odd = 0 1 4 4 odd = 0 1 4 4 2 w = 1 9 3 0 2 8 8 4

6   Pass
odd = 2 * randi([-4, 4], 1, randi([4,10])) - 1; even = 2 * randi([-4, 4], 1, randi([4,10])); v = [even, odd]; w_correct = [odd, even]; assert(isequal(oddEven(v),w_correct))

m = 1 n = 12 v = -4.0000 2.0000 0 -1.0000 -2.0000 3.0000 0 3.5000 1.5000 3.5000 -1.5000 3.5000 odd = [] even = [] odd = -4 odd = -4 2 odd = -4 2 0 odd = -4 2 0 -1 odd = -4 2 0 -1 -2 odd = -4 2 0 -1 -2 3 odd = -4 2 0 -1 -2 3 0 even = 3.5000 even = 3.5000 1.5000 even = 3.5000 1.5000 3.5000 even = 3.5000 1.5000 3.5000 -1.5000 even = 3.5000 1.5000 3.5000 -1.5000 3.5000 w = 7 3 7 -3 7 -8 4 0 -2 -4 6 0