This one is quite similar to http://www.mathworks.nl/matlabcentral/cody/problems/1998-bleed-non-zeros-to-the-right.
But this time you are allowed to use regexp, regexprep, and regexpi. In fact, you are encouraged to do so, since I expect creative solutions, using dynamic regular expressions ( http://www.mathworks.nl/help/matlab/matlab_prog/dynamic-regular-expressions.html ).
You get a vector, some values and a lot of zeroes. Every zero is replaced by the first non-zero element to its left.
For example, [1 0 0 2 0] becomes [1 1 1 2 2] and [0 0 -12 13 0 i 0 -i 76.54321 0 0] becomes [0 0 -12 13 13 i i -i 76.54321 76.54321 76.54321].
Is it even easier now, or not? Still, eval and friends are forbidden.
Solution Stats
Solution Comments
Show commentsProblem Recent Solvers29
Suggested Problems
-
20023 Solvers
-
Create a cell array out of a struct
2610 Solvers
-
Back to basics 12 - Input Arguments
626 Solvers
-
Duplicate each element of a vector.
639 Solvers
-
The Answer to Life, the Universe, and Everything
588 Solvers
More from this Author31
Problem Tags
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!