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

Ciąg Fibonacciego po uruchomieniu program przestaje działać

VPS Starter Arubacloud
0 głosów
418 wizyt
pytanie zadane 24 stycznia 2017 w C i C++ przez PrzyszłyProgramista Nowicjusz (240 p.)
Ktoś mi powie dlaczego ten kod za każdym razem wywala program?

 

#include <iostream>

using namespace std;

int fib[100000]; int n;

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

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

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

    for (int i=0; i<n; i++)
    {
        cout<<endl<<"wyraz nr"<<i+1<<": "<<fib[i];
    }

    return 0;
}
komentarz 24 stycznia 2017 przez mtk3d Nałogowiec (46,690 p.)
Umieszczaj kod w znacznikach code
komentarz 24 stycznia 2017 przez Kodeman Gaduła (4,480 p.)
U mnie kod się kompiluje poprawnie
komentarz 25 stycznia 2017 przez niezalogowany
co to znaczy wywala? Owszem, źle liczy dla większych wartości, bo mu zakres zmiennej się kończy:  http://ideone.com/NwAHzP
komentarz 25 stycznia 2017 przez mtk3d Nałogowiec (46,690 p.)
Chyba mu chodzi o to, że wywala przy kompilacji, ale niech autor sprecyzuje, tak byłoby najlepiej.

3 odpowiedzi

+1 głos
odpowiedź 25 stycznia 2017 przez Molester Bywalec (2,920 p.)
Po pierwsze to zmień typ z int na np double, albo long double, bo inaczej będzie ci przekłamywało wartości.

I może zarezerwowanie mniejszej liczby szufladek pomoże,  bo u mnie wszystko kompiluję się poprawnie. Masz 64 czy 32 bitowy system?  Może to wynikać właśnie z ograniczenia pamięci. W 32 bitowym o ile mnie pamięć nie myli pojedynczy proces może zarezerować nie więcej niż 2GB. Innymi słowy może to wynikać z ograniczeń hardware.

Proszę mnie poprawić jak się mylę.
komentarz 25 stycznia 2017 przez PrzyszłyProgramista Nowicjusz (240 p.)
ok popróbuje według tych rad dzięki :)
0 głosów
odpowiedź 24 stycznia 2017 przez mtk3d Nałogowiec (46,690 p.)
edycja 24 stycznia 2017 przez mtk3d

Tutaj wszystko działa: http://cpp.sh/45d4f

Daj na końcu system('pause'); i bibliotekę cstdlib

#include <cstdlib>

...

system("pause");
return 0;
}

Nie wywala programu, tylko zakładam, że kończy działanie zaraz po zwróceniu wyniku. System('pause'); zatrzyma go do naciśnięcia jakiegokolwiek przycisku.

komentarz 24 stycznia 2017 przez niezalogowany
Po co mu tutaj cstdlib?
komentarz 24 stycznia 2017 przez 10kw10 Pasjonat (22,880 p.)
bez tego, funkcja nie zadziala. Ewentualnie moze byc tez windows.h
komentarz 24 stycznia 2017 przez mtk3d Nałogowiec (46,690 p.)
https://msdn.microsoft.com/pl-pl/library/277bwbdz(v=vs.71).aspx

Można też skorzystać z getch(), wtedy conio.h
komentarz 24 stycznia 2017 przez PrzyszłyProgramista Nowicjusz (240 p.)
tylko że mi na serio wywala program zanim cokolwiek z mojego kodu zadziała i pisze że jest błąd w aplikacji czy coś takiego, nie chodzi o to że od razu sie zamyka po skończeniu polecenia, jakieś pomysły?
komentarz 24 stycznia 2017 przez niezalogowany
U mnie działa. Może podaj kod błędu?
0 głosów
odpowiedź 25 stycznia 2017 przez PrzyszłyProgramista Nowicjusz (240 p.)

Tak właśnie wygląda jak próbuje urochomić ten kod.

Podobne pytania

0 głosów
1 odpowiedź 423 wizyt
pytanie zadane 8 marca 2017 w C i C++ przez alex100915 Nowicjusz (120 p.)
0 głosów
3 odpowiedzi 336 wizyt
pytanie zadane 30 stycznia 2016 w C i C++ przez TwiZiX Nowicjusz (150 p.)
0 głosów
0 odpowiedzi 152 wizyt

93,025 zapytań

141,989 odpowiedzi

321,292 komentarzy

62,371 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

Wprowadzenie do ITsec, tom 2

Można już zamawiać tom 2 książki "Wprowadzenie do bezpieczeństwa IT" - będzie to około 650 stron wiedzy o ITsec (17 rozdziałów, 14 autorów, kolorowy druk).

Planowana premiera: 30.09.2024, zaś planowana wysyłka nastąpi w drugim tygodniu października 2024.

Warto preorderować, tym bardziej, iż mamy dla Was kod: pasja (użyjcie go w koszyku), dzięki któremu uzyskamy dodatkowe 15% zniżki! Dziękujemy zaprzyjaźnionej ekipie Sekuraka za kod dla naszej Społeczności!

...