ciąg fibonacciego i wyświetlanie wykiku

0

Program działa poprawnie gdy cout<< znajduje się w pętli ale ja chciałbym aby nie wyświetlał każdej wartości tylko ostatnią. Czyli wydaje mi sie ze gdyby umieścić cout<< poza pętlą program powinien prawidłowo wyświetlać wartość, tak się jednak nie dzieje. Czy ktoś wie w czym tkwi problem?
http://pastebin.com/Qmv02fZL

1
cout<<"n ty wyraz ciagu fib wynosi "<<tab[n - 1]<<endl; 

No i jeszcze tworzysz zmienną lokalną i, a w pętli deklarujesz nową zmienną i, która jest widoczna tylko w tej pętli i przykrywasz zewnętrzną dla tej pętli zmienną i z funkcji main.
I w każdej iteracji pętli pierwszy i drugi element tablicy ustawiasz na wartość 1, co negatywnie wpływa na efektywność kodu.

6

Problem tkwi w tym, że odnosisz się do i, które istnieje tylko w pętli. Wyświetl tab dla n-1.

Tak poza tym, nie potrzebujesz tutaj tablicy w ogóle, a nawet jeśli - to nie tak dużą. Fib(47) nie mieści się w 32-bitowym incie ze znakiem.

0

Dzięki za wyjaśnienie problemu i za cenne rady :)

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