Ir ao conteúdo
  • Cadastre-se
CurtAlloy6823

Duvida Mostrar Fib

Recommended Posts

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 !

Compartilhar este post


Link para o post
Compartilhar em outros sites

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

  • Curtir 1

Compartilhar este post


Link para o post
Compartilhar em outros sites

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

Compartilhar este post


Link para o post
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora





Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas publicações 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

×