Please do not check for the occurance of "for" in general, because "UniFORmOutput" has nothing to do with looping ;-)
Your predefined function signature has only one parameter, altough two were submitted. Same problem without the "for" restriction: http://www.mathworks.com/matlabcentral/cody/problems/555-low-high-low-high-turn-around-create-a-subindices-vector
This is an excellent problem.
I agree with Dirk. Change your regexp to check for instances of eval, for, and while that are not preceded or followed by additional letters.
give me a hint, should we use a specific function here?
Tip: replace UniformOutput with uni.
Actually arrayfun should also be outlawed, as that simply hides the loop at a performance cost. I haven't seen a vectorized solution yet, only recursions and implicit loops (and the usual cheat-submissions).
If you want a more robust cheat-detection you should have a separate test which runs as first test. That one should not call the submission to avoid it overwriting functions like fileread and assert.
'uniformoutput' is innocent orz~~
A separate test case that tests for functions that are against the rules would improve this problem. In this case, the "for" in "UniformOutput" was getting caught by the search. A separate test case would have made clear that the solution functions properly but contains an outlawed string.
Wonderful !
Why x3=[] in the test ?
Nice recursion !
Each solution of Richard is a gem.
How to find the position of an element in a vector without using the find function
2482 Solvers
Set the array elements whose value is 13 to 0
958 Solvers
Generate a vector like 1,2,2,3,3,3,4,4,4,4
3913 Solvers
Reverse the elements of an array
694 Solvers
1190 Solvers
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!