• 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ć

Object Storage Arubacloud
0 głosów
315 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ź 350 wizyt
pytanie zadane 8 marca 2017 w C i C++ przez alex100915 Nowicjusz (120 p.)
0 głosów
3 odpowiedzi 291 wizyt
pytanie zadane 30 stycznia 2016 w C i C++ przez TwiZiX Nowicjusz (150 p.)
0 głosów
0 odpowiedzi 145 wizyt

92,573 zapytań

141,423 odpowiedzi

319,648 komentarzy

61,959 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.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...