Ir ao conteúdo
  • Comunicados

    • Gabriel Torres

      Seja um moderador do Clube do Hardware!   12-02-2016

      Prezados membros do Clube do Hardware, Está aberto o processo de seleção de novos moderadores para diversos setores ou áreas do Clube do Hardware. Os requisitos são:   Pelo menos 500 posts e um ano de cadastro; Boa frequência de participação; Ser respeitoso, cordial e educado com os demais membros; Ter bom nível de português; Ter razoável conhecimento da área em que pretende atuar; Saber trabalhar em equipe (com os moderadores, coordenadores e administradores).   Os interessados deverão enviar uma mensagem privada para o usuário @Equipe Clube do Hardware com o título "Candidato a moderador". A mensagem deverá conter respostas às perguntas abaixo:   Qual o seu nome completo? Qual sua data de nascimento? Qual sua formação/profissão? Já atuou como moderador em algo outro fórum, se sim, qual? De forma sucinta, explique o porquê de querer ser moderador do fórum e conte-nos um pouco sobre você.   OBS: Não se trata de função remunerada. Todos que fazem parte do staff são voluntários.
    • DiF

      Poste seus códigos corretamente!   21-05-2016

      Prezados membros do Fórum do Clube do Hardware, O Fórum oferece um recurso chamado CODE, onde o ícone no painel do editor é  <>     O uso deste recurso é  imprescindível para uma melhor leitura, manter a organização, diferenciar de texto comum e principalmente evitar que os compiladores e IDEs acusem erro ao colar um código copiado daqui. Portanto convido-lhes para ler as instruções de como usar este recurso CODE neste tópico:  
Josesousa

C A sequencia de Fibonacci não para quando solicitado!

Recommended Posts

Postado (editado)

O exercicio pede para imprimir os 25 primeiros numeros da sequencia de Fibonacci, entretanto, o codigo consegue mostrar a sequencia mas nao para quando chega em 25, mas sim em 300.

Alguem poderia da uma olha no seguinte condigo, e me dizer o que tem de errado.

 

#include <stdlib.h>
#include <stdio.h>
//Desafio sobre mostrar a sequencia de Finonacci. Os 25 primeiros.
main(){
    int i, j=0, a=0,b=1, cont=0, num, aux;

    do{

        for(i=0;i<j;i++){
            aux=a+b;
            a=b;
            b=aux;
            cont++;
            printf("%d Fibonacci %d\n",cont, aux);
        }
    j++;
    }while(j!=25); /* se eu colocar para parar quando cont chega em 25, entra em loop, ja com o j nao */

system("pause");
return 0;
}

 

Editado por Josesousa

Compartilhar este post


Link para o post
Compartilhar em outros sites

@Josesousa  Olá. Daria para "contornar" o problema dessa forma:

 

cont++;
if (cont < 26)
    printf("%d Fibonacci %d\n",cont, aux);

Mas não é a melhor maneira d resolver esse exercício.

Faz um pequeno teste: imprima o valor de j no início do do/while para ver o q está acontecendo

Também seria interessante repensar a lógica para q o resultado seja correto. Dá uma olhada no link:

https://pt.wikipedia.org/wiki/Sequência_de_Fibonacci

  • Obrigado 1

Compartilhar este post


Link para o post
Compartilhar em outros sites
Postado (editado)

@giu_d Valeu!!!:thumbsup:

Deu certo agora, so que não entendi muito bem o porque que quando eu colocava o do/while para parar se cont fosse 25 ele nao parava:(.

Você resolveria esse problema de qual outra forma? Eu mesmo, so consegui pensar dessa forma...                                           

Ah, acabei trocando os valores de a por b , para que comecasse em 1,1,2.....

Editado por Josesousa
  • Curtir 1

Compartilhar este post


Link para o post
Compartilhar em outros sites
Postado (editado)

Olá..

Injeta esse codego e faz uns alteração:

#include <stdio.h>
int main()
{
    int na=1,nt=0,nn;
    for(int i=0; i<= 25; i++){
        nn = nt + na;
       na = nt;
       nt = nn;    
       printf(" - %d ",nn);
    }

}

Saida:

1,1,2,3,5,8....

Espero ter ajudado e até...

Luís.

Editado por LuisOPsum
Engano

Compartilhar este post


Link para o post
Compartilhar em outros sites

@LuisOPsum No caso, voce fala em transformar esse codigo ne algo que de numa sequencia de Fibonacci?

Pois a saida de Fibonacci não é essa nao amigo!

Mas se for para transforma-la ate que se adeque ao exercicio, valeu!!!

Compartilhar este post


Link para o post
Compartilhar em outros sites
57 minutos atrás, Josesousa disse:

@LuisOPsum No caso, voce fala em transformar esse codigo ne algo que de numa sequencia de Fibonacci?

Pois a saida de Fibonacci não é essa nao amigo!

Mas se for para transforma-la ate que se adeque ao exercicio, valeu!!!

Olá...

Amigo kds.. foi mal Bhother...

Era esse e mandei de outro.

Agora pode injectar esse.:

#include <stdio.h>
int main()
{
    int na=1,nt=0,nn;
    for(int i=0; i<= 25; i++){
        nn = nt + na;
       na = nt;
       nt = nn;    
       printf(" - %d ",nn);
    }

}

Obrigado e até... qualquer coisa comenta..

Luís.

  • Curtir 1
  • Obrigado 1

Compartilhar este post


Link para o post
Compartilhar em outros sites

@LuisOPsum Muito obrigado mesmo!!

Muito mais fácil do que o que eu tinha feito.....

 

  • Curtir 1

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






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

×