Fibonacci-Reihe



  • Hallo liebes community und c++ experten :).
    Ich bin noch recht neu auf dem Gebiet und habe direkt eine Frage. Ich bin gerade dabei ein kleines Programm zu schreiben, dass mir die fibonacci Zahlen ausgibt. Leiderwill es nicht so recht klappen.
    Wo liegt denn der Fehler?

    Gruß 😃

    #include <iostream>
    #include <conio.h>
    
    using namespace std;
    
    int fib (int n);
    
    int main()
    
    {
    
        int n, answer;
        cout<<"Zu findende Zahl eingeben: "; 
        cin>>n;
        cout<<"\n\n";
    
        answer=fib(n);
    
        cout<<"Die "<< n << ". Fibonacci-Zahl" << <<" lautet "<<answer;
        cout<<endl;
        return 0;
    
    }
    
    int fib (int n)
    {
        cout<<"Verarbeitung von fib(" <<n << ")... ";23:
                            if(n<3)
                            {
                                   cout<<Rückgabewert 1!\n"; 
                                   return(1);
                                   }
                                   else
                                   { 
                                       cout<<"Aufruf von fib(" <<n-2<< ") und fib(" <<n-1 << <<").\n";
                                   return( fib(n-2)+fib(n-1);
                                   }
    
    getch();
    }
    


  • Wenn du die Syntax-Fehler behebst, funktioniert das Programm so.

    Die Syntax-Fehler nennt dir der Compiler, sogar mit genauer Zeilennummer.



  • Dieser Thread wurde von Moderator/in Christoph aus dem Forum Mathematik in das Forum C++ verschoben.

    Im Zweifelsfall bitte auch folgende Hinweise beachten:
    C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?

    Dieses Posting wurde automatisch erzeugt.



  • Christoph schrieb:

    Wenn du die Syntax-Fehler behebst, funktioniert das Programm so.

    Die Syntax-Fehler nennt dir der Compiler, sogar mit genauer Zeilennummer.

    Ich änder die ganze Zeit schon was. Trotzdem will esnciht klappen.



  • Metapher schrieb:

    Christoph schrieb:

    Wenn du die Syntax-Fehler behebst, funktioniert das Programm so.

    Die Syntax-Fehler nennt dir der Compiler, sogar mit genauer Zeilennummer.

    Ich änder die ganze Zeit schon was. Trotzdem will esnciht klappen.

    Wenn du das änderst, was der Compiler dir sagt, wird es klappen. Ich habe es gerade selber probiert.



  • Metapher schrieb:

    Ich änder die ganze Zeit schon was. Trotzdem will esnciht klappen.

    wenn du den ersten fehler mit fehlertext und zeilennummer zeigst, macht ihn bestimmt jemand weg.



  • in Zeile 20
    Zeile 29
    Zeile 32
    Zeile 32
    Zeile 32
    Zeile 32
    Zeile 37
    Zeile 38

    Wird mir angezeigt. Aber ich habe echt keinen schimmer, was ich dort falsch gemacht habe?! 😕



  • Metapher schrieb:

    Wird mir angezeigt. Aber ich habe echt keinen schimmer, was ich dort falsch gemacht habe?! 😕

    Das kann nicht dein Ernst sein. Schau dir die entsprechenden Zeilen nochmals in aller Ruhe an, du wirst die Fehler schon sehen.



  • Metapher schrieb:

    in Zeile 20

    da sehe ich einmal << << statt nur <<



  • Ich habe es nun zum laufen gebracht.
    Leider wird mir aber nichts gescheites ausgegeben?
    woran liegt denn das nun 😞

    #include <iostream>
    #include <conio.h>
    
    using namespace std;
    
    int fib (int n);
    
    int main()
    
    {
    
        int n, answer;
        cout<<"Zu findende Zahl eingeben: "; 
        cin>>n;
        cout<<"\n\n";
    
        answer=fib(n);
    
        cout<<"Die "<< n << ". Fibonacci-Zahl" <<" lautet "<<answer;
        cout<<endl;
        return 0;
    
    }
    
    int fib (int n)
    {
        cout<<"Verarbeitung von fib(" <<n << ")... ";
                            if(n<3)
                            {
                                   cout<<"Rückgabewert 1!\n"; 
                                   return(1);
                                   }
                                   else
                                   { 
                                   cout<<"Aufruf von fib(" <<n-2<< ") und fib (" <<n-1<<").\n";
                                   return fib(n-2)+fib(n-1);
                                   }
    
    getch();
    }
    


  • mach das getch() mal weg und mach vor das return 0; von der main

    cin.get();
    cin.get();
    

    und was wird ausgegeben?



  • volkard schrieb:

    mach das getch() mal weg und mach vor das return 0; von der main

    cin.get();
    cin.get();
    

    und was wird ausgegeben?

    Es klappt 😃

    Sehr herzlichen Dank. 👍


Anmelden zum Antworten