Ir ao conteúdo

Posts recomendados

Postado

Estou começando a estudar C e me deparei com um problema sobre Fibonacci e fazer a sequência usando estruturas de repetição. Eu consegui resolver o problema usando estruturas de repetição simples, mas quis incrementá-lo com vetores e meu programa já não funcionou do jeito que eu precisava.

 

O intuito do programa era receber n e exibir os n primeiros números da sequência de Fibonacci. O código que eu fiz, de alguma forma, só mostra os primeiros 6 corretamente. Alguém pode me explicar em que eu errei?

 

#include<stdlib.h>
#include<stdio.h>
#include<locale.h>
#include<math.h>

int main(){
    setlocale(LC_ALL,"Portuguese");

    int i, n;
    float fib[i];
    printf("Insira o número de elementos de fibonacci que você deseja:");
    scanf("%d%*c", &n);
    
    fib[0]=0;
    fib[1]=1;
    printf("%f\n", fib[1]);
    
    for (i=2; i<=n; i++) {
        
        fib[i]= fib[i-1] + fib[i-2];
        printf("%f \n", fib[i]);
        
    }
    return 0;    
}

 

Postado
16 horas atrás, liamc disse:
    float fib[i];

Nessa parte está usando a variável i que só foi declarada e mas não iniciada com nenhum valor e assim o tamanho do vetor é indeterminado. Declare o vetor após informar o tamanho que será na variável n e não i (int fib[n]) ou use alocação dinâmica. E o for é quanto i < n.

Crie uma conta ou entre para comentar

Você precisa ser um usuário 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 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...