Cody

Problem 2587. Find indices of diagonal elements

Solution 1463082

Submitted on 14 Mar 2018 by Isaias Araya
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 5 6;7 8 9]; a = [1 5 9]; assert(isequal(diag_indices(x,0),a))

s = 1 5 9 y = 1 m = 2 y = 1 5 m = 3 y = 1 5 9 m = 4

2   Pass
x = magic(5); b = 5; assert(isequal(diag_indices(x,-4),b))

s = 11 y = 5 m = 2

3   Pass
x = magic(5); a = 21; assert(isequal(diag_indices(x,4),a))

s = 15 y = 21 m = 2

4   Pass
x = magic(5); z = 5; assert(isequal(diag_indices(x,-4),z))

s = 11 y = 5 m = 2

5   Pass
x = magic(6); a = [19 26 33]; assert(isequal(diag_indices(x,3),a))

s = 26 23 20 y = 19 m = 2 y = 19 26 m = 3 y = 19 26 33 m = 4

6   Pass
x1 = magic(50); y_correct = 50; assert(isequal(diag_indices(x1,-49),y_correct))

s = 301 y = 50 m = 2

7   Pass
x2 = magic(50); y_correct = [49 100]; assert(isequal(diag_indices(x2,-48),y_correct))

s = 300 328 y = 49 m = 2 y = 49 100 m = 3

8   Pass
y = magic(50); v = [48 99 150]; assert(isequal(diag_indices(y,-47),v))

s = 274 302 355 y = 48 m = 2 y = 48 99 m = 3 y = 48 99 150 m = 4

9   Pass
v=[1 2 3;4 5 6;1 2 3]; t = [1 5 9]; assert(isequal(diag_indices(v,0),t))

s = 1 5 3 y = 1 m = 2 y = 1 5 m = 3 y = 1 5 9 m = 4

10   Pass
x=[1 2;1 2]; y_correct = 3; assert(isequal(diag_indices(x,1),y_correct))

s = 2 y = 3 m = 2

11   Pass
x=[1 1 1;1 1 1;1 1 1]; t = [1 5 9]; assert(isequal(diag_indices(x,0),t))

s = 1 1 1 y = 1 m = 2 y = 1 5 m = 3 y = 1 5 9 m = 4

12   Pass
y=[1 2 3;1 2 3]; y_correct = [1 4]; assert(isequal(diag_indices(y,0),y_correct))

s = 1 2 y = 1 m = 2 y = 1 4 m = 3

Suggested Problems

More from this Author43

Community Treasure Hunt

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

Start Hunting!