.| Autor | Beitrag |
|---|---|
|
000 09.02.2002, 22:30 Gruwekarl |
Hi! Ich bin zur Zeit am erlernen von C++! Hab jetzt das Thema Funktionen:Rekursion. Aber irgendwie schnall ich das mit fib nicht! Kann mir das mal jemand kurz erklären? Thx im Vorraus -- |
|
Profil || Suche |
|
001 09.02.2002, 23:47 anothergb02 |
ich auch nicht :P kannst ja pow selber proggen und die Funk dann fib nennen, dann kannst du stolz sagen:"Ich habe fib benutzt". --Being in john Malkovich Dieser Beitrag wurde am 09.02.2002 um 23:58 von anothergb02 bearbeitet. |
|
Profil || Suche |
|
002 09.02.2002, 23:57 Gruwekarl |
Jo, könnt ich eigentlich machen. Aber dadurch lern ichs ja net! -- |
|
Profil || Suche |
|
003 10.02.2002, 02:07 Kriz |
fib? Fibonacci-Reihen? --K:R-I)Z++ |
|
Profil || Suche |
|
004 10.02.2002, 02:58 Gruwekarl |
Jo, so hab ich das in dem Buch erklärt bekommen. An ner Fibonacci-Reihe. Dort war der Code für ein Prog abgebildet, das nach ner Stelle der Fibonacci-Reihe fragt, und das dann berechnet, welchen Wert z.Bsp. die 12te Zahl der Reihe hat. Jetzt soll ich nen Prog machen. Das ist die Aufgabenstellung aus dem buch:
Es ist mir klar, das ich die Zahl n mit sich selbst multiplizieren muss, und das Ergebnis nochmal mit der Zahl mutliplizieren muss. Das muss ich dann so oft machen, wie es die Potenz angibt. Bis dahin kein Prob, aber ich hab keinen Schimmer, wie ich das machen muss. Ich denke, das ich die Funktion fib so aufrufen muss : fib (p) , wobei p die Potenz ist. Aber ich versteh net so ganz, was fib überhaupt macht. Da liegt das Prob! --Dieser Beitrag wurde am 10.02.2002 um 03:01 von Gruwekarl bearbeitet. |
|
Profil || Suche |
|
005 10.02.2002, 07:36 Tron |
ich les da jetzt nix von fib, fib war ja nur der funktionsname des beispiels. eine rekursive funktion ist eine funktion die ein gegebenes problem zum teil loest, dadurch vereinfacht und das vereinfachte problem wieder an sich selbst uebergibt. wichtig dabei ist, dass es ein einfachstes problem gibt, das direkt (ohne weitere rekursion) geloest werden kann und die rekursion darauf hinarbeitet (wenn nicht, wuerde die rekursion endlos weiterlaufen und mit einem stack overflow abstuerzen) im falle fibonacci ist die problemvereinfachung: fib(x) == fib(x - 1) + fib(x - 2) um dir noch einen 2 letzte tipps zu geben (ohne gleich die gesamte funktion hinzuschreiben): ich weiss, dass rekursive algorithmen nur mit aeusserster gewalt in die kleinen grauen dinger zwischen den ohren reingehen, aber bruete drueber und versuch dich an der aufgabe, dann wird's, denke ich, klarer. 'KEINE PANIK' - aus der Triologie in fuenf Baenden von Douglas Adams 'FÜR DEINN FERD' - aus 'Gevatter Tod' von Terry Pratchett |
|
Profil || Suche |
|
006 10.02.2002, 15:06 Gruwekarl |
Hmmm, jo thx! Das hilft mir jetzt erstmal weiter. Aber ich glaub ich werd jetzt erst noch ein paar Übungen machen, mit den Befehlen die ich schon kenne, un probiers dann später wieder mit Rekursion. |
|
Profil || Suche |
|
007 10.02.2002, 18:44 Gruwekarl |
So, ich hab das glaub ich jetzt verstanden und das Prog funzt auch. Kann mir vielleicht jemand sagen, ob ich das richtig gemacht hab oder ob ich was sehr umständlich gemacht hab? Hier is der Code:
Thx im Vorraus -- |
|
Profil || Suche |
|
008 10.02.2002, 19:24 apfelkorn |
nein, das sieht gut aus... rekursiv is very easy :) Dieser Beitrag wurde am 10.02.2002 um 19:25 von apfelkorn bearbeitet. |
|
Profil || Suche |
|
009 11.02.2002, 13:44 Prefect |
... und noch besser mit ner simplen Schleife - in dem Fall ist Rekursion ja sinnlos. Der Compiler wird die Rekursion übrigens sowieso wegoptimieren, da es sich um Tail-Recursion handelt. cu, Widelands - Gemütliche Aufbaustrategie, Free Software |
|
Profil || Suche |
|
010 11.02.2002, 14:04 Nicemice Moderator |
Maannn, Prefect, der Weg ist das Ziel... hier gings doch darum eine rekursive Funktion zu schreiben. --www.d3opencoop.com - A Doom3 Cooperative Mod |
|
Profil || Suche |
|
011 11.02.2002, 17:41 TheTinySteini |
Nen Schönheitsfehler gibt's noch, denn die Funktion wird bei Potenzieren( x, 0 ) irgendwas seltsames ausgeben, jedenfalls nicht 1. Irgendeine Zahl hoch 0 ist aber immer 1. --TheTinySteini |
|
Profil || Suche |

