- Testuj w ideone, a nie u siebie
- Tak się dzieje bo masz inny kompilator / inne coś / a masz błąd w kodzie i następuje tzw. undefined behaviour (w zależności od kompilatora może stać się różna rzecz - problem może być różnie obsłużony).
- Łatwo zauważyć co (i jak bardzo) masz źle dla innych danych z tego wątku.
Gdzie jest Twoje undefined behaviour? W zasadzie wszędzie, polecam jakiś kurs, dobrą książkę najpierw przerobić zanim zaczniesz robić te zadania. Przykład:
int gruszka=0;
float tablica [gruszka];
Na prawdę chciałeś stworzyć zeroeleementową tablicę?
I co wtedy robi to:
for (int i=0; i<gruszka; i++)
{
cin>>liczba;
tablica [i]=liczba;
}
Wstawia dane w i
-te miejsce zeroelementowej tablicy? Cud, że działa w ogóle.
Edit: Powyższe jednak nie jest Twoim największym problemem, a jakość kodu. Kod jest tak brzydki, że nie możesz się w nim połapać i nikt kto nie jest zawodowym programistą się nie połapie. Zapamiętaj raz na zawsze: napisanie ładnego kodu jest ważniejsze od tego by on poprawnie działał. Jak działa niepoprawnie, a jest czysty to szybko błąd można naprawić, jak działa poprawnie, ale jest taki jak Twój to przy najdrobniejszej zmianie się rozjedzie.
Edit2: Tak dla podkreślenia powtórzę: najważniejsze żeby kod był ładny. Później ewentualnie może działać.