stars pattern using recursive function HELP
이전 댓글 표시
My teacher is asking us to create a triangle of stars with a recursive function. Can someone help me ? I've got something but it's not a recursive function. This is what i have :
function [ x ] = Triangle( x )
for i = 1:x
for j = 1:x-i
x=fprintf(' ');
end
for c = 1:i;
x=fprintf('*');
end
fprintf('\n');
end
triangle(7)
*
**
***
****
*****
******
*******
답변 (1개)
Jan
2018년 2월 28일
Do you know, what a recursive function is? You have to include a call to itself in the code. But this should not cause an infinite recursion, therefore you have to modify the inputs and outputs, such that the calling will end.
function Triangle(x)
disp(x)
if x > 0
Triangle(x - 1);
end
end
Now fill in your code to draw the stars.
By the way: repmat('*', 1, x) helps to create the string without a loop. See also:
sprintf('%20s', 'hello')
This fills in spaces on the left, such that the output has at least 20 characters.
댓글 수: 2
This is easier than the loops:
fprintf('%10s\n', repmat('*, 1, x))
Or:
fprintf('%s%s\n', repmat(' ', 1, 10-x), repmat(' ', 1, x));
Most of all omit the "for i = 1:x" loop. Remember that you have replaced this loop by the recursion.
Jade Corbeil
2018년 2월 28일
카테고리
도움말 센터 및 File Exchange에서 Loops and Conditional Statements에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!