0
재귀를 사용하여이 프랙탈 패턴을 만들려고합니다.재귀를 사용하여 프랙탈 패턴 만들기
void pattern(ostream& outs, unsigned int n, unsigned int i){
if (n == 1){
outs << "*"<<endl;
}
else{
pattern(outs, n/2, i + 1);
for (int k = 0; k < n; k++){
outs << "* ";
}
outs<<endl;
for (int k = 0; k < i; k++){
outs << ' ';
}
pattern(outs, n/2, i + 1);
}
가}
내 코드가 무엇을해야 출력 :
void pattern(ostream& outs, unsigned int n, unsigned int i);
// Precondition: n is a power of 2 greater than zero.
// Postcondition: A pattern based on the above example has been
// printed to the ostream outs. The longest line of the pattern has
// n stars beginning in column i of the output. For example,
// The above pattern is produced by the call pattern(cout, 8, 0).
지금까지, 이것이 내가 무엇을 가지고 :
*
* *
*
* * * *
*
* *
*
* * * * * * * *
*
* *
*
* * * *
*
* *
*
내가 구현해야하는 기능이있다 출력 되나 공백이 없어집니다. 어떻게 해결할 수 있습니까?
@ c650 어떤 힌트가 나와 나를 시작할 수 있습니까? – user2896120
그것은 2의 힘이어야한다고 말합니다. 그래서 여러분은 아마도'pattern (outs, n-1, i + 1);을 잘못 생각하고있을 것입니다. – Charles
StackOverflow에 오신 것을 환영합니다. 도움말 설명서의 게시 지침을 읽고 따르십시오. [최소한의 완전하고 검증 가능한 예제] (http://stackoverflow.com/help/mcve)가 여기에 적용됩니다. 코드를 게시하고 정확하게 문제를 설명하기 전까지는 효과적으로 귀하를 도울 수 없습니다. StackOverflow는 코딩 또는 튜토리얼 서비스가 아닙니다. – Prune