<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[ist das Rekursion?]]></title><description><![CDATA[<p>Hallo!<br />
Wir sollten die Fibonacci-Zahlen mit einer rekursiven Funktion berechnen lassen, doch ich habe auf die Lösung keine Punkte bekommen mit der Begründung, dass es sich nicht um eine rekursive Lösung handelt.<br />
Wie hätte man es denn sonst machen sollen?</p>
<pre><code class="language-cpp">void fibRec(int num){
	if(num&gt;2){
		//sich erstmal um (num-1)-Elemente kümmern
		fibRec(num-1);
		//das letzte und vorletzte Element der bis jetzt berechneten Zahlen addieren und anfügen
		fibR[num-1]=fibR[num-2]+fibR[num-3];
	}
	else if(num==2){
		fibR[0]=0;
		fibR[1]=1;
	}
	else if(num==1){
		fibR[0]=0;
	}
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/topic/133821/ist-das-rekursion</link><generator>RSS for Node</generator><lastBuildDate>Fri, 28 Aug 2026 05:12:50 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/133821.rss" rel="self" type="application/rss+xml"/><pubDate>Sat, 21 Jan 2006 13:00:56 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to ist das Rekursion? on Sat, 21 Jan 2006 13:00:56 GMT]]></title><description><![CDATA[<p>Hallo!<br />
Wir sollten die Fibonacci-Zahlen mit einer rekursiven Funktion berechnen lassen, doch ich habe auf die Lösung keine Punkte bekommen mit der Begründung, dass es sich nicht um eine rekursive Lösung handelt.<br />
Wie hätte man es denn sonst machen sollen?</p>
<pre><code class="language-cpp">void fibRec(int num){
	if(num&gt;2){
		//sich erstmal um (num-1)-Elemente kümmern
		fibRec(num-1);
		//das letzte und vorletzte Element der bis jetzt berechneten Zahlen addieren und anfügen
		fibR[num-1]=fibR[num-2]+fibR[num-3];
	}
	else if(num==2){
		fibR[0]=0;
		fibR[1]=1;
	}
	else if(num==1){
		fibR[0]=0;
	}
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/971937</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/971937</guid><dc:creator><![CDATA[hansmeier99]]></dc:creator><pubDate>Sat, 21 Jan 2006 13:00:56 GMT</pubDate></item><item><title><![CDATA[Reply to ist das Rekursion? on Sat, 21 Jan 2006 13:13:31 GMT]]></title><description><![CDATA[<p>z.B. so</p>
<pre><code class="language-cpp">unsigned fibonacci(unsigned n)
{
  if(n &lt;= 2)
    return n;
  return fibonacci(n - 1) + fibonacci(n - 2);
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/971943</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/971943</guid><dc:creator><![CDATA[Walli]]></dc:creator><pubDate>Sat, 21 Jan 2006 13:13:31 GMT</pubDate></item><item><title><![CDATA[Reply to ist das Rekursion? on Sat, 21 Jan 2006 13:15:01 GMT]]></title><description><![CDATA[<p>Eine Funktion heist Reckursiv wenn sie einen Rückgabewert zurückgibt. Etwa so was :</p>
<pre><code class="language-cpp">int max(int a, int b){
 if(a &gt; b) return a;
 else return b;
}

void main(){

 int A = 12; 
 int B = 20;
 int Erg;

 Erg = max(A, B);
 cout &lt;&lt; &quot; Die Zahl &quot; &lt;&lt; Erg &lt;&lt; &quot; ist droesser &quot; &lt;&lt; endl;
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/971945</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/971945</guid><dc:creator><![CDATA[Don_Pazo]]></dc:creator><pubDate>Sat, 21 Jan 2006 13:15:01 GMT</pubDate></item><item><title><![CDATA[Reply to ist das Rekursion? on Sat, 21 Jan 2006 13:23:54 GMT]]></title><description><![CDATA[<p><a class="plugin-mentions-user plugin-mentions-a" href="https://www.c-plusplus.net/forum/uid/10654">@don_pazo</a>: Wo hast du diese Definition her? Dein Beispiel ist defintiv nicht rekursiv: Als Rekursion bezeichnet man den Aufruf oder die Definition einer Funktion durch sich selbst.</p>
<p><a class="plugin-mentions-user plugin-mentions-a" href="https://www.c-plusplus.net/forum/uid/1497">@walli</a>: Ich hatte vergessen zu erwähnen, dass ich die &quot;Fibonacci-Folge&quot; ausgeben soll, und das nicht in der Funtkion selbst, sondern sich das Hauptprogramm darum kümmern muss. Darum habe ich mich in der Speicherung in einem Array entschieden. Kannst du mir sagen, warum meine Funktion nicht rekursiv sein soll?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/971953</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/971953</guid><dc:creator><![CDATA[hansmeier99]]></dc:creator><pubDate>Sat, 21 Jan 2006 13:23:54 GMT</pubDate></item><item><title><![CDATA[Reply to ist das Rekursion? on Sat, 21 Jan 2006 13:26:23 GMT]]></title><description><![CDATA[<p><a class="plugin-mentions-user plugin-mentions-a" href="https://www.c-plusplus.net/forum/uid/10654">@Don_Pazo</a><br />
Bullshit!</p>
<p>Direkte Rekursion (am meisten Verbreitet) ist ein Selbstaufruf<br />
Indirekte Rekursion ist ein Aufruf durch eine andere, welche wieder die eine aufruft die diese dann wieder aufruft.</p>
<p>Funktionen mit Rückgabewert nennt man &quot;Funktionen&quot;<br />
Funktionen ohne Rückgabewert nennt man &quot;Prozeduren&quot;</p>
]]></description><link>https://www.c-plusplus.net/forum/post/971955</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/971955</guid><dc:creator><![CDATA[&#x27;#&#x27;]]></dc:creator><pubDate>Sat, 21 Jan 2006 13:26:23 GMT</pubDate></item><item><title><![CDATA[Reply to ist das Rekursion? on Sat, 21 Jan 2006 13:33:32 GMT]]></title><description><![CDATA[<p>'#' schrieb:</p>
<blockquote>
<p>Funktionen mit Rückgabewert nennt man &quot;Funktionen&quot;<br />
Funktionen ohne Rückgabewert nennt man &quot;Prozeduren&quot;</p>
</blockquote>
<p>In Pascal</p>
]]></description><link>https://www.c-plusplus.net/forum/post/971960</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/971960</guid><dc:creator><![CDATA[sdfwfn]]></dc:creator><pubDate>Sat, 21 Jan 2006 13:33:32 GMT</pubDate></item><item><title><![CDATA[Reply to ist das Rekursion? on Sat, 21 Jan 2006 13:33:32 GMT]]></title><description><![CDATA[<p>hansmeier99 schrieb:</p>
<blockquote>
<p>Kannst du mir sagen, warum meine Funktion nicht rekursiv sein soll?</p>
</blockquote>
<p>Die ist schon rekursiv, aber vielleicht war in der Aufgabenstellung etwas anderes gefragt. Poste doch mal die Aufgabenstellung.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/971959</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/971959</guid><dc:creator><![CDATA[Walli]]></dc:creator><pubDate>Sat, 21 Jan 2006 13:33:32 GMT</pubDate></item><item><title><![CDATA[Reply to ist das Rekursion? on Sat, 21 Jan 2006 13:34:28 GMT]]></title><description><![CDATA[<p>Eigentlich ist die Funktion rekursiv, aber wenn schon in Arrays gespeichert wird sollte man auch dafür sorgen dass nicht bei jedem Aufruf die komplette Folge neu berechnet werden muss <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f609.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--winking_face"
      title=";)"
      alt="😉"
    /></p>
<p>Ausserdem nehme ich an dass Vorgabe war, dass die Funktion das n-te Folgenglied zurückgeben und nicht in einem globalen Array speichern sollte.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/971961</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/971961</guid><dc:creator><![CDATA[LordJaxom]]></dc:creator><pubDate>Sat, 21 Jan 2006 13:34:28 GMT</pubDate></item><item><title><![CDATA[Reply to ist das Rekursion? on Sat, 21 Jan 2006 13:47:41 GMT]]></title><description><![CDATA[<p>Nein, Aufgabe war, dass die Zahlen bis zum n-ten Folgenglied ausgegeben werden sollte.<br />
Z.b. Ausgabe der ersten 5 Zahlen:<br />
0 1 1 2 3</p>
<blockquote>
<p>aber wenn schon in Arrays gespeichert wird sollte man auch dafür sorgen dass nicht bei jedem Aufruf die komplette Folge neu berechnet werden muss</p>
</blockquote>
<p>Meinst du damit, dass man mal errechnete Ergebnisse nutzen sollte? Damit hast du auf jeden Fall recht, aber mir ist keine bessere Lösung für das Problem, dass die Ausgabe erst im Hauptprogramm erfolgen soll, eingefallen (außer nur lokale Arrays zu benutzen)...</p>
<p>@ all: Also meint ihr, dass ich dafür die Punkte bekommen müsste, es sich also um eine rekursive Funktion handelt?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/971972</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/971972</guid><dc:creator><![CDATA[hansmeier99]]></dc:creator><pubDate>Sat, 21 Jan 2006 13:47:41 GMT</pubDate></item><item><title><![CDATA[Reply to ist das Rekursion? on Sat, 21 Jan 2006 18:49:08 GMT]]></title><description><![CDATA[<p>Zumindest Teilpunkte würde ich sagen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/972367</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/972367</guid><dc:creator><![CDATA[Walli]]></dc:creator><pubDate>Sat, 21 Jan 2006 18:49:08 GMT</pubDate></item><item><title><![CDATA[Reply to ist das Rekursion? on Sat, 21 Jan 2006 19:11:29 GMT]]></title><description><![CDATA[<p>Ich will nicht nerven, aber ich versteh immer noch nicht, warum ich nicht die vollen Punkte bekommen sollte...<br />
Wie würdet ihr das denn lösen?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/972386</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/972386</guid><dc:creator><![CDATA[hansmeier99]]></dc:creator><pubDate>Sat, 21 Jan 2006 19:11:29 GMT</pubDate></item><item><title><![CDATA[Reply to ist das Rekursion? on Sat, 21 Jan 2006 19:27:58 GMT]]></title><description><![CDATA[<p>hansmeier99 schrieb:</p>
<blockquote>
<p>@ all: Also meint ihr, dass ich dafür die Punkte bekommen müsste, es sich also um eine rekursive Funktion handelt?</p>
</blockquote>
<p>Es handelt sich um eine rekursive Funktion und dank der Verwendung des Felds für die Fibonacci-Werte statt einer Rückgabe ist sie auch effizienter als die &quot;naheliegende&quot; Definition -- andernfalls müsste man ein pair&lt;int, int&gt; zurückgeben, um nicht Werte doppelt zu berechnen, so wie das in Wallis Beispiel geschieht:</p>
<pre><code class="language-cpp">pair&lt;int, int&gt; fib(int n)
{
    if (n == 0) return make_pair(0, 1);
    pair&lt;int, int&gt; next = fib(n - 1);
    return make_pair(next.second, next.first + next.second);
}
</code></pre>
<p>=&gt; Dein Code sollte volle Punktzahl geben.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/972396</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/972396</guid><dc:creator><![CDATA[Konrad Rudolph]]></dc:creator><pubDate>Sat, 21 Jan 2006 19:27:58 GMT</pubDate></item><item><title><![CDATA[Reply to ist das Rekursion? on Sat, 21 Jan 2006 19:42:02 GMT]]></title><description><![CDATA[<p>hansmeier99 schrieb:</p>
<blockquote>
<p>Ich will nicht nerven, aber ich versteh immer noch nicht, warum ich nicht die vollen Punkte bekommen sollte...</p>
</blockquote>
<p>Hast du mal denjenigen gefragt, der die Sache korrigiert hat? Ich könnte mir, wie gesagt, höchstens vorstellen, dass du dich irgendwo nicht an die Aufgabenstellung gehalten hast. Oder der Korrektor hat sich vertan, soll vorkommen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/972413</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/972413</guid><dc:creator><![CDATA[Walli]]></dc:creator><pubDate>Sat, 21 Jan 2006 19:42:02 GMT</pubDate></item><item><title><![CDATA[Reply to ist das Rekursion? on Sat, 21 Jan 2006 20:06:09 GMT]]></title><description><![CDATA[<p><a class="plugin-mentions-user plugin-mentions-a" href="https://www.c-plusplus.net/forum/uid/9121">@hansmeier99</a><br />
Du solltest dich mal schlau machen, wie eine geforderte Lösung aussieht. Dann kannst du ja mit deiner vergleichen. Ansonsten, ohne <strong>exakten</strong> Wortlaut der Aufgabenstellung können wir nur spekulieren.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/972424</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/972424</guid><dc:creator><![CDATA[groovemaster]]></dc:creator><pubDate>Sat, 21 Jan 2006 20:06:09 GMT</pubDate></item></channel></rss>