<?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[Schwierigkeiten bei Münzproblem mit Backtracking]]></title><description><![CDATA[<p>Hi Leute.</p>
<p>Es geht um folgende Aufgabe:<br />
Es sollen alle Möglichkeiten gefunden und ausgegeben werden einen bestimmten Geldbetrag durch die Kombination gültiger Münzen darzustellen.</p>
<p>Ich bin schon eine ganze Weile an dieser Aufgabe, bin mit meinem Latein aber nun aber am Ende.</p>
<p>Das ganze habe ich mit einer Klasse umgesetzt in der dann eine Funktion für die Zerlegung zuständig ist.<br />
Als Ergebnis bekomme ich mit den unten angegebenen Werten zwei Kombinationen:</p>
<pre><code>0.1 0.2 0.1 0.1
0.1 0.2 0.2
Kombinationen: 2
</code></pre>
<p>Wieso wird mir die Kombination mit 5 x 0.10 nicht angezeigt?<br />
Was mache ich dabei falsch?</p>
<p>Über einen kleinen Denkanstoß wäre ich dankbar.</p>
<pre><code>Betrag  = 0.50
	AnzKombis = 0
	AnzMuenzen = 2
	muenzTypen[1] =  0.10
	muenzTypen[2] =  0.20
</code></pre>
<pre><code>void zerlegung(int ebene,double betrag)
      { 
         //Ausgabe der ermittelten Folge
         if(betrag == 0.00)
         {
            for(int i = 1;i &lt; ebene; i++)
                cout&lt;&lt;folge[i]&lt;&lt;&quot; &quot;;

            cout&lt;&lt;endl;

            AnzKombis += 1;
         }

        //Prüfen welche Muenze in Betrag passt
        for(int i=1;i &lt;= AnzMuenzen;i++)
        {
           if(betrag - muenzTypen[i] &gt;= 0.00)
           {
              folge[ebene] = muenzTypen[i];

              //rekursiver Aufruf der Funktion
              zerlegung(ebene + 1,betrag - muenzTypen[i]);
           }
        }
      }
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/topic/260281/schwierigkeiten-bei-münzproblem-mit-backtracking</link><generator>RSS for Node</generator><lastBuildDate>Tue, 08 Sep 2026 04:29:22 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/260281.rss" rel="self" type="application/rss+xml"/><pubDate>Wed, 03 Feb 2010 09:05:22 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Schwierigkeiten bei Münzproblem mit Backtracking on Wed, 03 Feb 2010 09:05:22 GMT]]></title><description><![CDATA[<p>Hi Leute.</p>
<p>Es geht um folgende Aufgabe:<br />
Es sollen alle Möglichkeiten gefunden und ausgegeben werden einen bestimmten Geldbetrag durch die Kombination gültiger Münzen darzustellen.</p>
<p>Ich bin schon eine ganze Weile an dieser Aufgabe, bin mit meinem Latein aber nun aber am Ende.</p>
<p>Das ganze habe ich mit einer Klasse umgesetzt in der dann eine Funktion für die Zerlegung zuständig ist.<br />
Als Ergebnis bekomme ich mit den unten angegebenen Werten zwei Kombinationen:</p>
<pre><code>0.1 0.2 0.1 0.1
0.1 0.2 0.2
Kombinationen: 2
</code></pre>
<p>Wieso wird mir die Kombination mit 5 x 0.10 nicht angezeigt?<br />
Was mache ich dabei falsch?</p>
<p>Über einen kleinen Denkanstoß wäre ich dankbar.</p>
<pre><code>Betrag  = 0.50
	AnzKombis = 0
	AnzMuenzen = 2
	muenzTypen[1] =  0.10
	muenzTypen[2] =  0.20
</code></pre>
<pre><code>void zerlegung(int ebene,double betrag)
      { 
         //Ausgabe der ermittelten Folge
         if(betrag == 0.00)
         {
            for(int i = 1;i &lt; ebene; i++)
                cout&lt;&lt;folge[i]&lt;&lt;&quot; &quot;;

            cout&lt;&lt;endl;

            AnzKombis += 1;
         }

        //Prüfen welche Muenze in Betrag passt
        for(int i=1;i &lt;= AnzMuenzen;i++)
        {
           if(betrag - muenzTypen[i] &gt;= 0.00)
           {
              folge[ebene] = muenzTypen[i];

              //rekursiver Aufruf der Funktion
              zerlegung(ebene + 1,betrag - muenzTypen[i]);
           }
        }
      }
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1849598</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1849598</guid><dc:creator><![CDATA[hellusanimalus]]></dc:creator><pubDate>Wed, 03 Feb 2010 09:05:22 GMT</pubDate></item><item><title><![CDATA[Reply to Schwierigkeiten bei Münzproblem mit Backtracking on Wed, 03 Feb 2010 09:25:44 GMT]]></title><description><![CDATA[<p>Tipp: Rechne nicht mit Double. Zu ungenau.</p>
<p>Genauer: Rechne in Cent, also mit int. 0.5 - 0.1 - 0.1 -0.1 -0.1 -0.1 ist nun einmal nicht 0.0. So traurig das auch ist.</p>
<p>Ansonsten: Arrays beginnen bei 0, nicht bei 1. Solltest du entsprechend ändern, ist eine schlechte Angewohnheit die man schnell los werden sollte.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1849606</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1849606</guid><dc:creator><![CDATA[Fellhuhn]]></dc:creator><pubDate>Wed, 03 Feb 2010 09:25:44 GMT</pubDate></item><item><title><![CDATA[Reply to Schwierigkeiten bei Münzproblem mit Backtracking on Wed, 03 Feb 2010 12:05:09 GMT]]></title><description><![CDATA[<p>Fellhuhn <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="😃"
    /> ... Dank' dir!!!</p>
<p>Läuft jetzt alles einwandfrei.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1849718</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1849718</guid><dc:creator><![CDATA[hellusanimalus]]></dc:creator><pubDate>Wed, 03 Feb 2010 12:05:09 GMT</pubDate></item></channel></rss>