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

Zadanie z ciągiem fibonacciego w c++

42 Warsaw Coding Academy
0 głosów
1,487 wizyt
pytanie zadane 18 października 2016 w C i C++ przez czujek22 Dyskutant (7,670 p.)

Witam. Mam do wykonania prosty program :

Ciąg Fibonacciego n-elementowy ------------------------------

1. wczytaj wartość n

2. jeśli n=0 to wyswietl 0 i zakończ

3. jeśli n=1 to wyswietl 1 i zakończ

4. liczbie l1 przypisz 0

5. wyświetl l1

6. liczbie l2 przypisz 1

7. wyświetl l2

8. dla i z zakresu od 2 do n wykonuj kroki 9-11

9. liczbie m przypisz sumę l1 i l2

10. wyświetl m

11. liczbie l1 przypisz l2

12. liczbie l2 przypisz m

 

Robiłem troche zgodnie z punktami, troche poprzekształcałem bo poprzedni kod nie działa i wyszło coś takiego. Ktoś podsunie dobre rozumowanie bo nie za bardzo wiem gdzie jest jaki bład? 

#include <iostream>

using namespace std;

int n, l1=0, l2=1, m ;

int main()
{
       cout << "Podaj liczbe: " << endl;
    cin>>n;
    if(n==0)
    cout<<"0";
    else if(n==1)
    cout<<"1";
    else

    cout<<l1;
    cout<<l2;

    for(int i=2;i<n;i++);
    {
        m=l1+l2;
        cout<<m;
        l1=l2;
        l2=m;
    }



    return 0;
}

 

komentarz 18 października 2016 przez .kassad Gaduła (3,420 p.)
Nie brakuje Ci nawiasów klamrowych po else w 15. linii?
komentarz 18 października 2016 przez czujek22 Dyskutant (7,670 p.)
Nawiasy dodałem ale mimo to wyświetla liczby 011 czyli chyba zadeklarowane zmienne l1 i l2 oraz m i program sie konczy a nie na tym ma to polegać ;/

1 odpowiedź

+1 głos
odpowiedź 18 października 2016 przez Szahid Pasjonat (20,970 p.)
edycja 18 października 2016 przez Szahid
 
Najlepsza

Głównym winowajcą był średnik po warunku pętli for. Zmieniłem trochę kod żeby był czytelniejszy. 

#include <iostream>

using namespace std;

int n, m ;
int L1=0;
int L2=1;

int main()
{
       cout << "Podaj liczbe: " << endl;
    cin>>n;
    if(n==0)
    cout<<"0";
    else if(n==1)
    cout<<"1";
    else

    {
        cout<<L1<<endl;
        cout<<L2<<endl;
    }

    for(int i=2;i<n;i++)
    {
       m=L1+L2;
       cout<<m<<endl;
       L1=L2;
       L2=m;

    }



    return 0;
}

 

komentarz 18 października 2016 przez Szahid Pasjonat (20,970 p.)
Nie rozumiem. O co chodzi ?

 

PS Ok, zrozumiałem że o ortografie

Podobne pytania

0 głosów
0 odpowiedzi 168 wizyt
pytanie zadane 21 stycznia 2020 w C i C++ przez ResCrove Obywatel (1,700 p.)
0 głosów
1 odpowiedź 4,082 wizyt
pytanie zadane 24 września 2017 w C i C++ przez ebone Nowicjusz (140 p.)
0 głosów
3 odpowiedzi 1,427 wizyt

93,398 zapytań

142,390 odpowiedzi

322,576 komentarzy

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

VMware Cloud PRO - przenieś swoją infrastrukturę IT do chmury
...