Mam taki kod:
#include <iostream>
#include <string>
using namespace std;
int main ()
{
int rozmiar=1; //rozmiar ciągu - ilość elementów ciągu
int ciag[rozmiar]; //tablica ciągu
ciag[0]=1; ciag[1]=1; // przypisanie 2 pierwszych wartości ciągu
int iterator=0;
cin>>rozmiar; // pobiera z klawiatury rozmiar ciągu (ilość elementów ciągu)
//pętla wyliczająca kolejny element ciągu fibbonaciego (oprócz elementu pierszego i drugiego) - początek
for (iterator=(rozmiar-(rozmiar-2)); (rozmiar>2)&&(iterator<rozmiar); ++iterator)
{ciag[iterator]=ciag[iterator-2]+ciag[iterator-1];}
//pętla wyliczająca kolejny element ciągu fibbonaciego (oprócz elementu pierszego i drugiego) - koniec
cout<<ciag[0]<<" "<<ciag[1]<<" "<<ciag[2]<<" "<<ciag[3]<<" "<<"\n"; // tymczasowe wyświetlanie wyznaczonych elementów ciągu
cout<<ciag[4]<<" "<<ciag[5]<<" "<<ciag[6]<<" "<<ciag[7]<<" "<<"\n"<<endl; // tymczasowe wyświetlanie wyznaczonych elementów ciągu
// pętla wyświetlająca zawartość tablicy ciag (wyświetla wszystkie elementy ciągu fibbonaciego) - początek
for (iterator=0; iterator<rozmiar; iterator++)
{ cout<<ciag[iterator]<<endl; }
// pętla wyświetlająca zawartość tablicy ciag (wyświetla wszystkie elementy ciągu fibbonaciego) - koniec
return 15;
}
Gdy, po uruchomieniu wpiszę np. liczbę 5
zwraca mi taki wynik :
5 - ilość elementów ciągu (rozmiar)
1 5 2 3 - tymczasowe wyświetlanie wyznaczonych elementów ciągu (błędnie)
5 0 0 0 - tymczasowe wyświetlanie wyznaczonych elementów ciągu (błędnie)
1 - pętla wyświetlająca
5 - pętla wyświetlająca
1912560752 - pętla wyświetlająca
32767 - pętla wyświetlająca
1912560752 - pętla wyświetlająca
Natomiast gdy z powyższego kodu usunę pętlę wyświetlającą zawartość tablicy ciag
,czyli wyświetlającą wszystkie elementy ciągu fibbonaciego
(czyli usuwam to co poniżej), to kod działa prawidłowo.
// pętla wyświetlająca zawartość tablicy ciag (wyświetla wszystkie elementy ciągu fibbonaciego) - początek
for (iterator=0; iterator<rozmiar; iterator++)
{ cout<<ciag[iterator]<<endl; }
// pętla wyświetlająca zawartość tablicy ciag (wyświetla wszystkie elementy ciągu fibbonaciego) - koniec
Wynik tutaj:
5
1 1 2 3
5 0 0 0
Zera biorą się stąd, że ja mam tutaj wpisane wyświetlanie 8 elementów tablicy,
a w powyższym przypadku tablica liczy 5 elementów.
To proszę mi powiedzieć co jest błędne w pętli wyświetlającej zawartość tablicy ciag i
dlaczego jej dołączenie do kodu zmienia wartości wyświetlane przez polecenia cout oznaczone jako
"tymczasowe wyświetlanie wyznaczonych elementów ciągu". Co tu jest źle?
Jak by co to piszę na w Eclipse na OS X.