stars pattern using recursive function HELP

조회 수: 8 (최근 30일)
Jade  Corbeil
Jade Corbeil 2018년 2월 28일
댓글: Jade Corbeil 2018년 2월 28일
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
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
Jan
Jan 2018년 2월 28일
편집: Jan 2018년 2월 28일
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
Jade Corbeil 2018년 2월 28일
Great thank you a lot !! :)

댓글을 달려면 로그인하십시오.

카테고리

Help CenterFile Exchange에서 Loops and Conditional Statements에 대해 자세히 알아보기

Community Treasure Hunt

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

Start Hunting!

Translated by