Duvida Mostrar Fib - C/C#/C++ - Clube do Hardware
Duvida Mostrar Fib
Por CurtAlloy6823, 26 de julho de 2013 em C/C#/C++
CurtAlloy6823 3
Galera, me pediram para fazer esse programa só que não estou conseguindo de fazer de maneira nenhuma ! Alguem pode me ajudar ?
"Dado o programa abaixo implemente a função void mostra(int n), utilizando recursão, para que apareça a imagem abaixo
mostra(n);
A imagem seria a seguinte:
Ex.: Se for digitado N=5:
Se for digitado N=7:
A primeira linha tem "x" asteristicos, sendo que o número de "x" que aparecem nessa linha é o 7º numero da série de fibonacci, de acordo com esse último exemplo. Na linha de baixo a mesma coisa, só que o 6º número, e assim por diante.
Quem puder me da uma força, vai ser de grande ajuda !
Além dessa função, eu recomendaria criar uma função apenas para calcular o número fibonacci para um número qualquer da sequência passado no parâmetro da função:
n = fibonacci(x);
Você já tem essa parte funcionando?
Essa função será chamada dentro da função mostra(). Feito isso, você vai imprimir n asteriscos (use um for). Depois, você chama novamente a função mostra() com o parâmetro decrementado em 1: mostra(x -1). Isso precisa ser feito enquanto o valor de x for maior que 0 e essa será a condição de saída da recursão.
Ao sair da recursão, você terá todos os números fibonacci empilhados e disponíveis na variável n. Basta, portanto, meter mais um laço para imprimir esses valores.
Se o valor passado para a função mostra() for 7, os seguintes valores serão empilhados:
13 (primeiro número a ser empilhado será o último a sair)
ao desempilhar, teremos os valores em n disponíveis (já calculados):
Se você entender e passar a ideia da coisa para a pessoa que lhe pediu para fazer, provavelmente ela também consegue desenvolver.
CurtAlloy6823
LNW, agradeço pela sua explicação, entendi a maior parte, mas ainda estou com dúvida em como vou fazer para printar todos os asteristicos