<?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[Frage zur Rekursion]]></title><description><![CDATA[<p>Hallo,<br />
ich bin noch Änfänger, was das Programmieren mit c++ betrifft.<br />
Ich soll ein Programm schreiben, dass Zahlen nach der Größe sortiert. Das Programm hab ich geschrieben und es funktioniert auch. Nur soll ich das Programm mit Rekursion lösen und weiss nicht wie ich das machen kann.<br />
Hoffe ihr könnt mir helfen.</p>
<p>Gruß andi</p>
<blockquote>
<p>int main()<br />
{<br />
const int max=50;<br />
int daten[max]={0};<br />
int zaehler=0,zahl,Lauf,Schritt,temp,i;<br />
do{<br />
cout&lt;&lt;&quot;Zahl eingeben/0=Abbruch&quot;&lt;&lt;endl;<br />
cin&gt;&gt;zahl;<br />
daten[zaehler]=zahl;<br />
zaehler++;<br />
}<br />
while(zahl!=0&amp;&amp;zaehler&lt;=max);</p>
<p>for(Lauf=1; Lauf&lt;zaehler; Lauf++)<br />
{<br />
for(Schritt=zaehler-1;Schritt&gt;=Lauf;Schritt--)<br />
{<br />
if(daten[Schritt-1]&gt; daten[Schritt])<br />
{<br />
temp=daten[Schritt-1];<br />
daten[Schritt-1]=daten[Schritt];<br />
daten[Schritt]=temp;<br />
}<br />
}<br />
}<br />
for(i=0;i&lt;zaehler;i++)<br />
cout&lt;&lt;daten[i]&lt;&lt;&quot; &quot;;</p>
<p>return 0;<br />
}</p>
</blockquote>
]]></description><link>https://www.c-plusplus.net/forum/topic/167907/frage-zur-rekursion</link><generator>RSS for Node</generator><lastBuildDate>Wed, 16 Sep 2026 12:10:09 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/167907.rss" rel="self" type="application/rss+xml"/><pubDate>Sat, 16 Dec 2006 13:17:58 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Frage zur Rekursion on Sat, 16 Dec 2006 13:17:58 GMT]]></title><description><![CDATA[<p>Hallo,<br />
ich bin noch Änfänger, was das Programmieren mit c++ betrifft.<br />
Ich soll ein Programm schreiben, dass Zahlen nach der Größe sortiert. Das Programm hab ich geschrieben und es funktioniert auch. Nur soll ich das Programm mit Rekursion lösen und weiss nicht wie ich das machen kann.<br />
Hoffe ihr könnt mir helfen.</p>
<p>Gruß andi</p>
<blockquote>
<p>int main()<br />
{<br />
const int max=50;<br />
int daten[max]={0};<br />
int zaehler=0,zahl,Lauf,Schritt,temp,i;<br />
do{<br />
cout&lt;&lt;&quot;Zahl eingeben/0=Abbruch&quot;&lt;&lt;endl;<br />
cin&gt;&gt;zahl;<br />
daten[zaehler]=zahl;<br />
zaehler++;<br />
}<br />
while(zahl!=0&amp;&amp;zaehler&lt;=max);</p>
<p>for(Lauf=1; Lauf&lt;zaehler; Lauf++)<br />
{<br />
for(Schritt=zaehler-1;Schritt&gt;=Lauf;Schritt--)<br />
{<br />
if(daten[Schritt-1]&gt; daten[Schritt])<br />
{<br />
temp=daten[Schritt-1];<br />
daten[Schritt-1]=daten[Schritt];<br />
daten[Schritt]=temp;<br />
}<br />
}<br />
}<br />
for(i=0;i&lt;zaehler;i++)<br />
cout&lt;&lt;daten[i]&lt;&lt;&quot; &quot;;</p>
<p>return 0;<br />
}</p>
</blockquote>
]]></description><link>https://www.c-plusplus.net/forum/post/1192944</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1192944</guid><dc:creator><![CDATA[Andi20]]></dc:creator><pubDate>Sat, 16 Dec 2006 13:17:58 GMT</pubDate></item><item><title><![CDATA[Reply to Frage zur Rekursion on Sat, 16 Dec 2006 16:05:58 GMT]]></title><description><![CDATA[<p>Dieser Thread wurde von Moderator/in <a href="http://www.c-plusplus.net/forum/profile.php?mode=viewprofile&amp;u=18363" rel="nofollow">Jochen Kalmbach</a> aus dem Forum <a href="http://www.c-plusplus.net/forum/viewforum.php?f=58" rel="nofollow">C++/CLI mit .NET</a> in das Forum <a href="http://www.c-plusplus.net/forum/viewforum.php?f=15" rel="nofollow">C++</a> verschoben.</p>
<p>Im Zweifelsfall bitte auch folgende Hinweise beachten:<br />
<a href="http://www.c-plusplus.net/forum/viewtopic.php?t=39405" rel="nofollow">C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?</a></p>
<p><em>Dieses Posting wurde automatisch erzeugt.</em></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1192998</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1192998</guid><dc:creator><![CDATA[C++ Forumbot]]></dc:creator><pubDate>Sat, 16 Dec 2006 16:05:58 GMT</pubDate></item><item><title><![CDATA[Reply to Frage zur Rekursion on Sat, 16 Dec 2006 16:08:57 GMT]]></title><description><![CDATA[<p>Verwende doch einfach einen Sortieralgorithmus der eine rekursive Natur hat, dann fällt es dir auch ganz leicht den rekursiv zu impelementieren.</p>
<p><a href="http://www.sortieralgorithmen.de" rel="nofollow">www.sortieralgorithmen.de</a> sollte dir dabei sicher behilflich sein</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1193001</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1193001</guid><dc:creator><![CDATA[lolz_offline]]></dc:creator><pubDate>Sat, 16 Dec 2006 16:08:57 GMT</pubDate></item><item><title><![CDATA[Reply to Frage zur Rekursion on Sat, 16 Dec 2006 17:36:52 GMT]]></title><description><![CDATA[<p>lolz_offline schrieb:</p>
<blockquote>
<p>Verwende doch einfach einen Sortieralgorithmus der eine rekursive Natur hat</p>
</blockquote>
<p>Welcher hat das nicht?</p>
<p>Folgender Code ist recht kurz (und damit relativ einfach) und rekursiv:</p>
<pre><code class="language-cpp">template &lt;typename RanIter&gt;
void bubblesort(RanIter begin, RanIter end)
{
    if (begin + 1 == end) return;
    bubblesort(begin + 1, end);
    if (*(begin + 1) &lt; *begin) std::swap(*begin, *(begin + 1));
    bubblesort(begin + 1, end);
}
</code></pre>
<p>Andi, falls Dir das mit den Templates zu kompliziert ist, kannst Du es auch folgendermaßen vereinfachen:</p>
<pre><code class="language-cpp">void bubblesort(int* begin, int* end)
{
    if (begin + 1 == end) return;
    bubblesort(begin + 1, end);
    if (*(begin + 1) &lt; *begin) std::swap(*begin, *(begin + 1));
    bubblesort(begin + 1, end);
}
</code></pre>
<p>Aufgerufen wird der Code in beiden Fällen gleich, z.B. so:</p>
<pre><code class="language-cpp">int a[] = { 5, 3, 3, 5, 2, 7, 8, 4, 9, 6, 4, 5, 2, 1, 3 };
bubblesort(a, a + 15);
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1193033</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1193033</guid><dc:creator><![CDATA[Konrad Rudolph]]></dc:creator><pubDate>Sat, 16 Dec 2006 17:36:52 GMT</pubDate></item><item><title><![CDATA[Reply to Frage zur Rekursion on Sat, 16 Dec 2006 19:12:07 GMT]]></title><description><![CDATA[<p>Konrad Rudolph schrieb:</p>
<blockquote>
<p>lolz_offline schrieb:</p>
<blockquote>
<p>Verwende doch einfach einen Sortieralgorithmus der eine rekursive Natur hat</p>
</blockquote>
<p>Welcher hat das nicht?</p>
<p>Folgender Code ist recht kurz (und damit relativ einfach) und rekursiv:</p>
<pre><code class="language-cpp">template &lt;typename RanIter&gt;
void bubblesort(RanIter begin, RanIter end)
{
    if (begin + 1 == end) return;
    bubblesort(begin + 1, end);
    if (*(begin + 1) &lt; *begin) std::swap(*begin, *(begin + 1));
    bubblesort(begin + 1, end);
}
</code></pre>
<p>Andi, falls Dir das mit den Templates zu kompliziert ist, kannst Du es auch folgendermaßen vereinfachen:</p>
<pre><code class="language-cpp">void bubblesort(int* begin, int* end)
{
    if (begin + 1 == end) return;
    bubblesort(begin + 1, end);
    if (*(begin + 1) &lt; *begin) std::swap(*begin, *(begin + 1));
    bubblesort(begin + 1, end);
}
</code></pre>
<p>Aufgerufen wird der Code in beiden Fällen gleich, z.B. so:</p>
<pre><code class="language-cpp">int a[] = { 5, 3, 3, 5, 2, 7, 8, 4, 9, 6, 4, 5, 2, 1, 3 };
bubblesort(a, a + 15);
</code></pre>
</blockquote>
<p>Jetzt hat er sicher gelernt wie man rekursiv programmiert <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f44d.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--thumbs_up"
      title=":+1:"
      alt="👍"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1193079</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1193079</guid><dc:creator><![CDATA[ZiggySdardusd]]></dc:creator><pubDate>Sat, 16 Dec 2006 19:12:07 GMT</pubDate></item><item><title><![CDATA[Reply to Frage zur Rekursion on Sat, 16 Dec 2006 19:31:11 GMT]]></title><description><![CDATA[<p>ZiggySdardusd schrieb:</p>
<blockquote>
<p>Jetzt hat er sicher gelernt wie man rekursiv programmiert <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f44d.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--thumbs_up"
      title=":+1:"
      alt="👍"
    /></p>
</blockquote>
<p>Hat er sicher nicht. Aber wenn er sich meinen Code mal anschaut, dann in der Wikipedia den Artikel über <a href="http://de.wikipedia.org/wiki/Rekursion" rel="nofollow">Rekursion</a> liest und sich dann noch einmal mit dem Code auseinandersetzt, dann hat er eine gute Chance, sowohl Rekursion als auch meinen Code zu verstehen. Und einen funktionierenden Code hat er auch.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1193088</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1193088</guid><dc:creator><![CDATA[Konrad Rudolph]]></dc:creator><pubDate>Sat, 16 Dec 2006 19:31:11 GMT</pubDate></item><item><title><![CDATA[Reply to Frage zur Rekursion on Sat, 23 Dec 2006 17:03:17 GMT]]></title><description><![CDATA[<p>Danke für die Antworten, aber die Rekursion habe ich leider noch nicht verstanden. Der Aufgabensteller hat gemeint ich soll einfach die innere for-Schleife in eine rekursive Funktion auslagern. Könnt ihr mir da helfen?</p>
<p>Danke schon mal<br />
Andi</p>
<blockquote>
<p># include &lt;iostream&gt;<br />
using namespace std;</p>
<p>int main()<br />
{</p>
<p>int anzahl,zaehler=0,zahl,Lauf,Schritt,temp,i;<br />
cout&lt;&lt;&quot;Anzahl&quot;&lt;&lt;endl;<br />
cin&gt;&gt;anzahl;<br />
const int max=100;<br />
int daten[max]={0};<br />
do{<br />
cout&lt;&lt;&quot;Zahl eingeben&quot;&lt;&lt;endl;<br />
cin&gt;&gt;zahl;<br />
daten[zaehler]=zahl;<br />
zaehler++;<br />
}<br />
while(zaehler&lt;anzahl);</p>
<p>for(Lauf=1; Lauf&lt;zaehler; Lauf++)<br />
{<br />
for(Schritt=zaehler-1;Schritt&gt;=Lauf;Schritt--) <strong>= rekursiv</strong><br />
{<br />
if(daten[Schritt-1]&gt; daten[Schritt])<br />
{<br />
temp=daten[Schritt-1];<br />
daten[Schritt-1]=daten[Schritt];<br />
daten[Schritt]=temp;<br />
}<br />
}<br />
}<br />
for(i=0;i&lt;zaehler;i++)<br />
cout&lt;&lt;daten[i]&lt;&lt;&quot; &quot;;</p>
<p>return 0;<br />
}</p>
</blockquote>
]]></description><link>https://www.c-plusplus.net/forum/post/1197055</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1197055</guid><dc:creator><![CDATA[Andi20]]></dc:creator><pubDate>Sat, 23 Dec 2006 17:03:17 GMT</pubDate></item><item><title><![CDATA[Reply to Frage zur Rekursion on Sat, 23 Dec 2006 17:08:45 GMT]]></title><description><![CDATA[<p>Konrad Rudolph schrieb:</p>
<blockquote>
<p>lolz_offline schrieb:</p>
<blockquote>
<p>Verwende doch einfach einen Sortieralgorithmus der eine rekursive Natur hat</p>
</blockquote>
<p>Welcher hat das nicht?</p>
</blockquote>
<p>Bogosort? <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f603.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--grinning_face_with_big_eyes"
      title=":D"
      alt="😃"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1197059</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1197059</guid><dc:creator><![CDATA[[[global:guest]]]]></dc:creator><pubDate>Sat, 23 Dec 2006 17:08:45 GMT</pubDate></item><item><title><![CDATA[Reply to Frage zur Rekursion on Sat, 23 Dec 2006 17:39:59 GMT]]></title><description><![CDATA[<p>TactX schrieb:</p>
<blockquote>
<p>Konrad Rudolph schrieb:</p>
<blockquote>
<p>lolz_offline schrieb:</p>
<blockquote>
<p>Verwende doch einfach einen Sortieralgorithmus der eine rekursive Natur hat</p>
</blockquote>
<p>Welcher hat das nicht?</p>
</blockquote>
<p>Bogosort? <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f603.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--grinning_face_with_big_eyes"
      title=":D"
      alt="😃"
    /></p>
</blockquote>
<pre><code class="language-cpp">template&lt;typename IteratorType&gt;
void bogosort(IteratorType begin, IteratorType end) {
    radomshuffle(begin, end);
    if(!issorted(begin, end)) {
        bogosort(begin, end);
    }
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1197070</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1197070</guid><dc:creator><![CDATA[Rekursierer]]></dc:creator><pubDate>Sat, 23 Dec 2006 17:39:59 GMT</pubDate></item><item><title><![CDATA[Reply to Frage zur Rekursion on Mon, 25 Dec 2006 14:26:36 GMT]]></title><description><![CDATA[<p>hi,<br />
kann mir da keiner helfen? :xmas1:</p>
<p>gruß andi</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1197650</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1197650</guid><dc:creator><![CDATA[Andi20]]></dc:creator><pubDate>Mon, 25 Dec 2006 14:26:36 GMT</pubDate></item><item><title><![CDATA[Reply to Frage zur Rekursion on Mon, 25 Dec 2006 16:48:48 GMT]]></title><description><![CDATA[<p>Du musst das was in der Schleife ist in die Funktion packen und diese ruft sich immer wieder selbst auf. Damit sie sich nicht unendlich oft aufruft, musst du noch ein abbruchkriterium bestimmen (wie bei der Schleife), wenn dieses erreicht ist, ruft sie sich nicht mehr auf, sondern springt zurück (nicht ganz, sondern nur einen Aufruf).</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1197707</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1197707</guid><dc:creator><![CDATA[ZiggySdardusd]]></dc:creator><pubDate>Mon, 25 Dec 2006 16:48:48 GMT</pubDate></item></channel></rss>