Cody

# Problem 1321. Given a 4x4 matrix, swap the two middle columns

Solution 2040625

Submitted on 1 Dec 2019
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
x = [1 2 3 4;1 2 3 4;1 2 3 4;1 2 3 4]; y_correct = [1 3 2 4;1 3 2 4;1 3 2 4;1 3 2 4]; assert(isequal(swapmid(x),y_correct))

2   Pass
x = [1 2 3 4;5 6 7 8;1 2 3 4;5 6 7 8]; y_correct = [1 3 2 4;5 7 6 8;1 3 2 4;5 7 6 8]; assert(isequal(swapmid(x),y_correct))

3   Fail
x = ones(5,3); y_correct = x; assert(isequal(swapmid(x),y_correct))

Index in position 2 is invalid. Array indices must be positive integers or logical values. Error in swapmid (line 7) y(:,(m/2)+1)=x(:,(m/2)); Error in Test3 (line 3) assert(isequal(swapmid(x),y_correct))

4   Fail
x = eye(5); y_correct = [1 0 0 0 0; 0 0 1 0 0; 0 1 0 0 0; 0 0 0 1 0; 0 0 0 0 1]; assert(isequal(swapmid(x),y_correct))

Index in position 2 is invalid. Array indices must be positive integers or logical values. Error in swapmid (line 7) y(:,(m/2)+1)=x(:,(m/2)); Error in Test4 (line 3) assert(isequal(swapmid(x),y_correct))

5   Fail
x = [1:7; 2:8; 3:9]; y_correct = [1 3 2 4:7; 2 4 3 5:8; 3 5 4 6:9]; assert(isequal(swapmid(x),y_correct))

Index in position 2 is invalid. Array indices must be positive integers or logical values. Error in swapmid (line 7) y(:,(m/2)+1)=x(:,(m/2)); Error in Test5 (line 3) assert(isequal(swapmid(x),y_correct))

6   Fail
x = [ones(10,1),zeros(10,1),5*ones(10,1)]; y_correct = [ones(10,1),5*ones(10,1),zeros(10,1)]; assert(isequal(swapmid(x),y_correct))

Index in position 2 is invalid. Array indices must be positive integers or logical values. Error in swapmid (line 7) y(:,(m/2)+1)=x(:,(m/2)); Error in Test6 (line 3) assert(isequal(swapmid(x),y_correct))