Cody

Problem 1898. Too Many Zeros, Dump Them!

Solution 2948434

Submitted on 15 Sep 2020 by mohsen
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))

rows_sums = 0 col_sums = 0 rows_sums = 0 col_sums = 0 a = 0×1 empty double column vector a = []

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

rows_sums = 1 col_sums = 1 rows_sums = 1 col_sums = 1 a = 1 a = 1

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

rows_sums = 1 col_sums = 1 rows_sums = 1 col_sums = 1 0 a = 1 0 a = 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));

rows_sums = 2 1 col_sums = 1 0 2 0 rows_sums = 2 1 col_sums = 1 0 2 0 a = 1 0 1 0 0 1 j = 3

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));

rows_sums = -2.0000 - 1.0000i 2.3000 - 2.0000i Inf + 0.0000i 1.0000 + 0.0000i col_sums = 3.0000 + 0.0000i 0.3000 + 0.0000i -3.0000 + 2.0000i Inf + 1.0000i 1.0000 + 0.0000i rows_sums = -2.0000 - 1.0000i 2.3000 - 2.0000i Inf + 0.0000i 1.0000 + 0.0000i col_sums = 3.0000 + 0.0000i 0.3000 + 0.0000i -3.0000 + 2.0000i Inf + 1.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));

rows_sums = 1.0e-15 * 0 0 0 0 0.2220 col_sums = 1.0e-15 * 0 0 0 0 0.2220 rows_sums = 1.0e-15 * 0 0 0 0 0.2220 col_sums = 1.0e-15 * 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));

rows_sums = 2 1 3 0 0 col_sums = 2 1 0 3 0 rows_sums = 2 1 3 0 0 col_sums = 2 1 0 3 0 a = 1 1 0 0 0 1 0 0 0 0 0 0 0 3 0 0 0 0 0 0 i = 4 a = 1 1 0 0 0 1 0 0 0 0 0 0 0 3 0 i = 3 a = 1 1 0 0 1 0 0 0 0 0 0 3 j = 4

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));

rows_sums = 2 1 3 Inf 0 col_sums = 2 1 0 3 Inf rows_sums = 2 1 3 Inf 0 col_sums = 2 1 0 3 Inf a = 1 1 0 0 0 1 0 0 0 0 0 0 0 3 0 0 0 0 0 Inf i = 4

Suggested Problems

Community Treasure Hunt

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

Start Hunting!