Ciąg fibbanaciego - źle pokazuje numery wyrazu ciągu

0
 int main()
{
    int fib[22],i;
    fib[0] = 1;
    fib[1] = 1;

    for(i = 2; i < 22; i++)
    {

        fib[i] = fib[i - 1] + fib[i - 2];
    }
    printf("|-------------|----------------------|\n");
    printf("| Wyraz ciagu | Wartosc wyrazu ciagu |\n");
    printf("|-------------|----------------------|\n");

    for(i = 0; i < 22; i++)
    {
        printf("|%8d     |%10d            |\n",i,fib[i]);
        printf("|-------------|----------------------|\n");
    }
    return 0;
}

Dlaczego przy wypisie program dla nr ciągu 0 pokazuje wartość 1 ? Jak na początku nadałem wartość 0 dla pierwszego wyrazu ciągu. I potem cały program się sypie bo jest jakby nr ciągu za duży o jeden.

0
    fib[0] = 1;
    fib[1] = 1;
 

Dlaczego dla nr ciągu 0 ma nie pokazywać 1 0.o ?

0

Dlaczego przy wypisie program dla nr ciągu 0 pokazuje wartość 1 ?

A dlaczego nie?

Jak na początku nadałem wartość 0 dla pierwszego wyrazu ciągu.

Serio?

    fib[0] = 1;

I potem cały program się sypie bo jest jakby nr ciągu za duży o jeden.

Musisz zdecydować, czy indeksować ciąg od [0] czy od [1].

1 użytkowników online, w tym zalogowanych: 0, gości: 1