<?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[Suche Hilfe: Rekursions (einfacher Code)]]></title><description><![CDATA[<p>Hi und Hallo,</p>
<p>ich möchte zum Üben ein GUI-Programm schreiben, das mir, auf Knopfdruck, rekursiv Zahlen zwischen zwei Grenzen addiert.</p>
<p>Beispiel:</p>
<p>VON: 0 BIS: 100</p>
<p>ERGEBNIS: XXX</p>
<p>Habs mal versucht zu Programmieren, aber ich bekomme die Fehlermeldung das meine Variablen einen Wert haben der nie verändert wird.</p>
<p>Hier mein Code:</p>
<pre><code>void __fastcall TfrmRekur::btnKlickClick(TObject *Sender)
{
int von = StrToInt(frmRekur-&gt;edtVon-&gt;Text);
int bis = StrToInt(frmRekur-&gt;edtBis-&gt;Text);
int ergebnis;

int Rechnung(int bis)
{
if (bis == von)
  {
    return 1;
  } else
   return ergebnis = von + Rechnung(bis-1);

}

frmRekur-&gt;edtErg-&gt;Text = ergebnis;

}
</code></pre>
<p>Die Idee dainter ist, das das Programm solange sich selber aufruft und die obere Grenze um 1 verringert bis es bei &quot;von&quot; angekommen ist....und natürlich alles addiert.</p>
<p>Wo liegt mein Fehler und vll noch warum? <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f615.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--confused_face"
      title=":confused:"
      alt="😕"
    /></p>
<p>Würde mich über eure Hilfe sehr freuen.</p>
<p>MfG <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f642.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--slightly_smiling_face"
      title=":)"
      alt="🙂"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/topic/180064/suche-hilfe-rekursions-einfacher-code</link><generator>RSS for Node</generator><lastBuildDate>Mon, 21 Sep 2026 13:15:40 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/180064.rss" rel="self" type="application/rss+xml"/><pubDate>Sat, 28 Apr 2007 11:08:43 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Suche Hilfe: Rekursions (einfacher Code) on Sat, 28 Apr 2007 11:08:43 GMT]]></title><description><![CDATA[<p>Hi und Hallo,</p>
<p>ich möchte zum Üben ein GUI-Programm schreiben, das mir, auf Knopfdruck, rekursiv Zahlen zwischen zwei Grenzen addiert.</p>
<p>Beispiel:</p>
<p>VON: 0 BIS: 100</p>
<p>ERGEBNIS: XXX</p>
<p>Habs mal versucht zu Programmieren, aber ich bekomme die Fehlermeldung das meine Variablen einen Wert haben der nie verändert wird.</p>
<p>Hier mein Code:</p>
<pre><code>void __fastcall TfrmRekur::btnKlickClick(TObject *Sender)
{
int von = StrToInt(frmRekur-&gt;edtVon-&gt;Text);
int bis = StrToInt(frmRekur-&gt;edtBis-&gt;Text);
int ergebnis;

int Rechnung(int bis)
{
if (bis == von)
  {
    return 1;
  } else
   return ergebnis = von + Rechnung(bis-1);

}

frmRekur-&gt;edtErg-&gt;Text = ergebnis;

}
</code></pre>
<p>Die Idee dainter ist, das das Programm solange sich selber aufruft und die obere Grenze um 1 verringert bis es bei &quot;von&quot; angekommen ist....und natürlich alles addiert.</p>
<p>Wo liegt mein Fehler und vll noch warum? <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f615.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--confused_face"
      title=":confused:"
      alt="😕"
    /></p>
<p>Würde mich über eure Hilfe sehr freuen.</p>
<p>MfG <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f642.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--slightly_smiling_face"
      title=":)"
      alt="🙂"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1275065</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1275065</guid><dc:creator><![CDATA[eaglestar]]></dc:creator><pubDate>Sat, 28 Apr 2007 11:08:43 GMT</pubDate></item><item><title><![CDATA[Reply to Suche Hilfe: Rekursions (einfacher Code) on Sat, 28 Apr 2007 11:13:33 GMT]]></title><description><![CDATA[<p>hmm jo stimmt ja auch ... du übergibst den Wert ...</p>
<pre><code class="language-cpp">int calc(const int&amp; to, const int&amp; from)
{
    if (to == from)
        return 1;
   return (from + calc(to - 1));
}

void __fastcall TfrmRekur::btnKlickClick(TObject *Sender)
{
    frmRekur-&gt;edtErg-&gt;Text = calc(StrToInt(frmRekur-&gt;edtBis-&gt;Text), StrToInt(frmRekur-&gt;edtVon-&gt;Text));
}
</code></pre>
<p>? So oder wie willst de es haben? Hab den Sinn deiner Funktion nicht überprüft aber so sollte das gehen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1275070</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1275070</guid><dc:creator><![CDATA[*D*Evil]]></dc:creator><pubDate>Sat, 28 Apr 2007 11:13:33 GMT</pubDate></item><item><title><![CDATA[Reply to Suche Hilfe: Rekursions (einfacher Code) on Sat, 28 Apr 2007 11:26:39 GMT]]></title><description><![CDATA[<p>erstmal Danke für due schnelle Antwort.</p>
<p>In Zeile 5 kommt der Fehler das zu wenig parameter übergeben werden.<br />
Hab sie testweise bischen abgeändert</p>
<pre><code>return (from + calc(to - 1));
</code></pre>
<p>auf</p>
<pre><code>return (from + calc(to - 1, from - 0));
</code></pre>
<p>Dann gehts und es wird ja duch - 0 nichts verändert.</p>
<p>Das Programm lässt sich nun compilieren, aber bringt noch nicht den gewünschten Effekt.</p>
<p>Werde es mal weiter probieren.<br />
Falls jemand die Lösung kennt, darf er sie gerne posten <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>P.S.<br />
Ist es zwingend notwendig hier mit Referenzen zu arbeiten?<br />
kann man nicht nur ads fertig Ergebnis zurück schicken? Dann wäre es ja wieder ein Wert und das kann eine Funktion ja verarbeiten!?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1275075</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1275075</guid><dc:creator><![CDATA[eaglestar]]></dc:creator><pubDate>Sat, 28 Apr 2007 11:26:39 GMT</pubDate></item><item><title><![CDATA[Reply to Suche Hilfe: Rekursions (einfacher Code) on Sat, 28 Apr 2007 11:42:22 GMT]]></title><description><![CDATA[<p>eaglestar schrieb:</p>
<blockquote>
<p>[...]Ist es zwingend notwendig hier mit Referenzen zu arbeiten?<br />
kann man nicht nur ads fertig Ergebnis zurück schicken? Dann wäre es ja wieder ein Wert und das kann eine Funktion ja verarbeiten!?</p>
</blockquote>
<p>Sehe ich auch so!<br />
Die vielen Funktionsaufrufe bei Rekursionen sind unnötig bzw. sogar überflüssig.</p>
<p>PS:<br />
Ehe du eine Schleife programmierst, welche nur alle Zahlen addiert:<br />
Gauß hat ein schönes Verfahren zum finden der Summe ( in dem fall die Partzialsumme ( s<sub>n</sub> ) der Zahlenfolge a<sub>n</sub>=n ) zwischen 0 und einer bestimmten Zahl entwickelt:</p>
<p>Zahl = n<br />
Summe = (n + 1) * (n / 2)</p>
<p>Beispiel:<br />
Zahl = 100<br />
Summe = 101 * 50 = 5050</p>
<p>Hoffe ich konnte helfen!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1275082</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1275082</guid><dc:creator><![CDATA[AGS&#x27;ler]]></dc:creator><pubDate>Sat, 28 Apr 2007 11:42:22 GMT</pubDate></item><item><title><![CDATA[Reply to Suche Hilfe: Rekursions (einfacher Code) on Sat, 28 Apr 2007 11:54:58 GMT]]></title><description><![CDATA[<p>Das man das vll mit einer andren Methode &quot;schöner&quot; Lösen kann, kann schon gut sein. Dabiete die mathematik ja unendlich viele Möglichkeinten.</p>
<p>Ich das Programm soll nur zum Über der Rekursion dienen.</p>
<p>Zur Funktionsweise was das Prog machen soll</p>
<p>Benutzer gibt ein..</p>
<p>ADDIERE</p>
<p>Von: 1<br />
Bis: 3</p>
<p>Button: Klick</p>
<p>Ergebnis: 6 //also 1+2+3 oder halt 3+2+1</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1275093</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1275093</guid><dc:creator><![CDATA[eaglestar]]></dc:creator><pubDate>Sat, 28 Apr 2007 11:54:58 GMT</pubDate></item><item><title><![CDATA[Reply to Suche Hilfe: Rekursions (einfacher Code) on Sat, 28 Apr 2007 12:00:57 GMT]]></title><description><![CDATA[<pre><code class="language-cpp">int vonbis(int von, int bis) {
    assert(bis &gt;= von);
    if(von == bis) {
        return von;
    } else {
        return bis + vonbis(von, bis - 1);
    }
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1275098</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1275098</guid><dc:creator><![CDATA[Rekursierer]]></dc:creator><pubDate>Sat, 28 Apr 2007 12:00:57 GMT</pubDate></item></channel></rss>