• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Odcinek 6 - Wyznaczanie ciągu Fibonacciego

0 głosów
613 wizyt
pytanie zadane 3 maja 2015 w C i C++ przez Wiktor Stary wyjadacz (11,120 p.)

Witam, otóż jakoś nie bardzo rozumiem następujący zapis:

cout<<endl<<"wyraz nr "<<n<<": "<<fib[n-1];

Dlaczego jeżeli wpiszę w programie tak:

cout<<endl<<"Wyraz nr "<<n<<": "<<fib[n];

To wyświetla mi jakieś bzdury. Na filmie pan Mirosław powiedział, że numerujemy od 0 i nic poza tym. Mógłby mi ktoś to jakoś bardziej rozjaśnić?

2 odpowiedzi

+1 głos
odpowiedź 3 maja 2015 przez Progo Bywalec (2,020 p.)

Pokaż cały kod, bo nie oglądałem tego kursu, a nie chce mi się szukać.

Prawdopodobnie chodzi o to, że w programowaniu tablice liczymy od zera. Jeżeli chcemy się odwołać do pierwszego elementu to musimy zapisać to tak:

fib[0];

A nie tak:

fib[1];

Przypuszczam, że n to jest liczba, którą wpisujemy, więc jeżeli użytkownik chce otrzymać wyraz numer 5 to tak naprawdę odwołuje się do czwartego elementu tablicy, ponieważ tablice liczymy od zera :)

Twój drugi przykład pokazuje liczbę z kosmosu, ponieważ wychodzi poza tablicę, więc może tam być dowolna wartość, która pozostała np. po innej zmiennej w pamięci ram.

komentarz 4 maja 2015 przez Wiktor Stary wyjadacz (11,120 p.)
Wstawiłem kod niżej.
0 głosów
odpowiedź 3 maja 2015 przez Wiktor Stary wyjadacz (11,120 p.)

Tak wygląda cały kod:

int fib[100000];
int n;

int main()
{
    cout<<"Ile liczb Fibonacciego wyznaczyć: ";
    cin>>n;

    

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

    for(int i=2;i<n;i++)
    {
        fib[i]=fib[i-1]+fib[i-2];
    }

    cout<<endl<<"wyraz nr "<<n<<": "<<fib[n-1];

Jeżeli usunę -1 w ostatniej linijce to wynikiem programu jest zawsze zero.

Podobne pytania

0 głosów
2 odpowiedzi 4,979 wizyt
0 głosów
2 odpowiedzi 728 wizyt
pytanie zadane 7 lipca 2015 w C i C++ przez A1ien1385 Nowicjusz (150 p.)
0 głosów
1 odpowiedź 261 wizyt
pytanie zadane 13 stycznia 2021 w Java przez komboboost0 Użytkownik (570 p.)

93,740 zapytań

142,675 odpowiedzi

323,294 komentarzy

63,319 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj

Twierdza Linux. Bezpieczeństwo dla dociekliwych

Aby uzyskać rabat -10%, użyjcie kodu pasja-linux, wpisując go w specjalne pole w koszyku.

...