Cody

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

Solution 1559006

Submitted on 13 Jun 2018 by yuri pahomov
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))

p = 0 k = 0 S = [] R = [] w = [] w = []

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

p = 5 k = 1 v = 2 7 0 3 2 k = 5 S = [] S = 7 S = 7 3 R = [] R = 2 R = 2 0 R = 2 0 2 w = 7 3 2 0 2 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))

p = 1 k = 8 S = [] S = 1 S = 1 9 S = 1 9 3 R = [] R = 0 R = 0 2 R = 0 2 8 R = 0 2 8 8 R = 0 2 8 8 4 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))

p = 1 k = 19 S = [] S = -3 S = -3 -7 S = -3 -7 -9 S = -3 -7 -9 1 S = -3 -7 -9 1 7 S = -3 -7 -9 1 7 -7 S = -3 -7 -9 1 7 -7 7 S = -3 -7 -9 1 7 -7 7 -9 S = -3 -7 -9 1 7 -7 7 -9 5 S = -3 -7 -9 1 7 -7 7 -9 5 7 R = [] R = 2 R = 2 6 R = 2 6 -2 R = 2 6 -2 -2 R = 2 6 -2 -2 -8 R = 2 6 -2 -2 -8 -6 R = 2 6 -2 -2 -8 -6 -2 R = 2 6 -2 -2 -8 -6 -2 -8 R = 2 6 -2 -2 -8 -6 -2 -8 6 w = -3 -7 -9 1 7 -7 7 -9 5 7 2 6 -2 -2 -8 -6 -2 -8 6