Ir ao conteúdo

Duvida Mostrar Fib


CurtAlloy6823

Posts recomendados

Postado

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

main(){
int n;
printf("Entre com um numero:");
scanf("%d",&n);
mostra(n);
getch();
}

A imagem seria a seguinte:

Ex.: Se for digitado N=5:

*****

***

**

*

*

*

*

**

***

*****

Se for digitado N=7:

*************

********

*****

***

**

*

*

*

*

**

***

*****

********

*************

"

OBS.:

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 !

Postado

Alloy,

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

OBS.:

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)

8

5

3

2

1

1

ao desempilhar, teremos os valores em n disponíveis (já calculados):

1

1

2

3

5

8

13

Se você entender e passar a ideia da coisa para a pessoa que lhe pediu para fazer, provavelmente ela também consegue desenvolver.

[]'s

LNW

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...