Cody

Problem 1898. Too Many Zeros, Dump Them!

Solution 1475513

Submitted on 31 Mar 2018 by juedi myro eugenio
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 = 0; y_correct = []; assert(isequal(ZeroDumping(x),y_correct))

col = logical 1 col = logical 1 row = logical 1 row = logical 1 x = 1×0 empty double row vector x = []

2   Pass
x = 1; y_correct = 1; assert(isequal(ZeroDumping(x),y_correct))

col = logical 0 col = logical 0 row = logical 0 row = logical 0 x = 1 x = 1

3   Pass
x = [1 0]; y_correct = 1; assert(isequal(ZeroDumping(x),y_correct))

col = 1×2 logical array 0 1 col = 1×2 logical array 0 1 row = logical 0 row = logical 0 x = 1 x = 1

4   Pass
x = [1 0 1 0; 0 0 1 0]; y_correct = [1 0 1 0 0 1]; assert(isequal(ZeroDumping(x),y_correct));

col = 1×4 logical array 0 1 0 1 col = 1×4 logical array 0 0 0 1 row = 2×1 logical array 0 0 row = 2×1 logical array 0 0 x = 1 0 1 0 0 1 x = 1 0 1 0 0 1

5   Pass
x=[1,0, -3, 1i,0; 2,0.3,2i, 0, 0; 0,0, 0, inf, 0; 0,0, 0, 0, 1]; y_correct =x;% x(4,5) is useful, I don't want to dump it. assert(isequal(ZeroDumping(x),y_correct));

col = 1×5 logical array 0 0 0 0 0 col = 1×5 logical array 0 0 0 0 0 row = 4×1 logical array 0 0 0 0 row = 4×1 logical array 0 0 0 0 x = 1.0000 + 0.0000i 0.0000 + 0.0000i -3.0000 + 0.0000i 0.0000 + 1.0000i 0.0000 + 0.0000i 2.0000 + 0.0000i 0.3000 + 0.0000i 0.0000 + 2.0000i 0.0000 + 0.0000i 0.0000 + 0.0000i 0.0000 + 0.0000i 0.0000 + 0.0000i 0.0000 + 0.0000i Inf + 0.0000i 0.0000 + 0.0000i 0.0000 + 0.0000i 0.0000 + 0.0000i 0.0000 + 0.0000i 0.0000 + 0.0000i 1.0000 + 0.0000i x = 1.0000 + 0.0000i 0.0000 + 0.0000i -3.0000 + 0.0000i 0.0000 + 1.0000i 0.0000 + 0.0000i 2.0000 + 0.0000i 0.3000 + 0.0000i 0.0000 + 2.0000i 0.0000 + 0.0000i 0.0000 + 0.0000i 0.0000 + 0.0000i 0.0000 + 0.0000i 0.0000 + 0.0000i Inf + 0.0000i 0.0000 + 0.0000i 0.0000 + 0.0000i 0.0000 + 0.0000i 0.0000 + 0.0000i 0.0000 + 0.0000i 1.0000 + 0.0000i

6   Pass
x =[0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 eps]; y_correct =x; assert(isequal(ZeroDumping(x),y_correct));

col = 1×5 logical array 1 1 1 1 0 col = 1×5 logical array 0 0 0 0 0 row = 5×1 logical array 1 1 1 1 0 row = 5×1 logical array 0 0 0 0 0 x = 1.0e-15 * 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.2220 x = 1.0e-15 * 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.2220

7   Pass
x =[1 1 0 0 0 1 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 0 0 0 0]; y_correct =[1 1 0 0 1 0 0 0 0 0 0 3]; assert(isequal(ZeroDumping(x),y_correct));

col = 1×5 logical array 0 0 1 0 1 col = 1×5 logical array 0 0 0 0 1 row = 5×1 logical array 0 0 0 1 1 row = 5×1 logical array 0 0 0 1 1 x = 1 1 0 0 1 0 0 0 0 0 0 3 0 0 0 0 0 0 0 0 x = 1 1 0 0 1 0 0 0 0 0 0 3

8   Pass
x =[1 1 0 0 0 1 0 0 0 0 0 0 0 3 0 0 0 0 0 inf 0 0 0 0 0]; y_correct =[1 1 0 0 0 1 0 0 0 0 0 0 0 3 0 0 0 0 0 inf]; assert(isequal(ZeroDumping(x),y_correct));

col = 1×5 logical array 0 0 1 0 0 col = 1×5 logical array 0 0 0 0 0 row = 5×1 logical array 0 0 0 0 1 row = 5×1 logical array 0 0 0 0 1 x = 1 1 0 0 0 1 0 0 0 0 0 0 0 3 0 0 0 0 0 Inf 0 0 0 0 0 x = 1 1 0 0 0 1 0 0 0 0 0 0 0 3 0 0 0 0 0 Inf