Cody

Problem 798. Rotate input square matrix 90 degrees CCW without rot90

Solution 1509907

Submitted on 30 Apr 2018 by Yair Fridman
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
assert(isempty(regexp(evalc('type rot_hardway'),'(eval|fliplr|flipud|flipdim|rot90|)')))

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

n = 3 m = 3 y = 1 4 7 2 5 8 3 6 9 y = 3 6 9 2 5 8 1 4 7

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

n = 3 m = 3 y = 0.0000 + 1.0000i 4.0000 + 0.0000i 7.0000 + 0.0000i 2.0000 + 0.0000i 5.0000 + 0.0000i 8.0000 + 0.0000i 3.0000 + 0.0000i 6.0000 + 0.0000i 9.0000 + 0.0000i y = 3.0000 + 0.0000i 6.0000 + 0.0000i 9.0000 + 0.0000i 2.0000 + 0.0000i 5.0000 + 0.0000i 8.0000 + 0.0000i 0.0000 + 1.0000i 4.0000 + 0.0000i 7.0000 + 0.0000i

4   Pass
x = magic(9); y_correct = rot90(magic(9)); assert(isequal(rot_hardway(x),y_correct))

n = 9 m = 9 y = 47 57 67 77 6 16 26 36 37 58 68 78 7 17 27 28 38 48 69 79 8 18 19 29 39 49 59 80 9 10 20 30 40 50 60 70 1 11 21 31 41 51 61 71 81 12 22 32 42 52 62 72 73 2 23 33 43 53 63 64 74 3 13 34 44 54 55 65 75 4 14 24 45 46 56 66 76 5 15 25 35 y = 45 46 56 66 76 5 15 25 35 34 44 54 55 65 75 4 14 24 23 33 43 53 63 64 74 3 13 12 22 32 42 52 62 72 73 2 1 11 21 31 41 51 61 71 81 80 9 10 20 30 40 50 60 70 69 79 8 18 19 29 39 49 59 58 68 78 7 17 27 28 38 48 47 57 67 77 6 16 26 36 37

Suggested Problems

More from this Author3

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!