<?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[Kombinationen rausfinden und in Liste speichern]]></title><description><![CDATA[<p>Hallo,<br />
ich habe folgendes Vorhaben:<br />
Ich möchte eine Liste erstellen mit N Elementen<br />
Das 1. und N. Element muss den Wert 0 haben.<br />
Dazwischen dürfen die Werte -1, 0 oder +1 vom vorherigen abweichen.<br />
Insgesammt dürfen es keine negativen Werte sein.<br />
Mein Algoritmus, muss nun alle möglichen Kombinationen ausprobieren.<br />
Und alle die funktionieren in einer eigenen Liste speichern.<br />
Hat da jemand eine Idee wie ich das schaffe?</p>
<p>Vielen Dank im voraus.<br />
Dome</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/227301/kombinationen-rausfinden-und-in-liste-speichern</link><generator>RSS for Node</generator><lastBuildDate>Wed, 30 Sep 2026 03:19:37 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/227301.rss" rel="self" type="application/rss+xml"/><pubDate>Thu, 13 Nov 2008 14:59:11 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Kombinationen rausfinden und in Liste speichern on Thu, 13 Nov 2008 14:59:11 GMT]]></title><description><![CDATA[<p>Hallo,<br />
ich habe folgendes Vorhaben:<br />
Ich möchte eine Liste erstellen mit N Elementen<br />
Das 1. und N. Element muss den Wert 0 haben.<br />
Dazwischen dürfen die Werte -1, 0 oder +1 vom vorherigen abweichen.<br />
Insgesammt dürfen es keine negativen Werte sein.<br />
Mein Algoritmus, muss nun alle möglichen Kombinationen ausprobieren.<br />
Und alle die funktionieren in einer eigenen Liste speichern.<br />
Hat da jemand eine Idee wie ich das schaffe?</p>
<p>Vielen Dank im voraus.<br />
Dome</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1614183</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1614183</guid><dc:creator><![CDATA[gadiator]]></dc:creator><pubDate>Thu, 13 Nov 2008 14:59:11 GMT</pubDate></item><item><title><![CDATA[Reply to Kombinationen rausfinden und in Liste speichern on Thu, 13 Nov 2008 15:23:17 GMT]]></title><description><![CDATA[<p>gadiator schrieb:</p>
<blockquote>
<p>Hallo,<br />
ich habe folgendes Vorhaben:<br />
Ich möchte eine Liste erstellen mit N Elementen<br />
Das 1. und N. Element muss den Wert 0 haben.<br />
Dazwischen dürfen die Werte -1, 0 oder +1 vom vorherigen abweichen.<br />
Insgesammt dürfen es keine negativen Werte sein.<br />
Mein Algoritmus, muss nun alle möglichen Kombinationen ausprobieren.<br />
Und alle die funktionieren in einer eigenen Liste speichern.<br />
Hat da jemand eine Idee wie ich das schaffe?</p>
<p>Vielen Dank im voraus.<br />
Dome</p>
</blockquote>
<p>Alle Kombinationen aus was?<br />
Aus allen möglichen Zahlen in der Liste, aus allen möglichen natürlichen Zahlen, Fließkommazahlen, komplexen Zahlen!?<br />
und was bedeutet &quot;alle die funktionieren&quot; ?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1614197</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1614197</guid><dc:creator><![CDATA[Kuldren]]></dc:creator><pubDate>Thu, 13 Nov 2008 15:23:17 GMT</pubDate></item><item><title><![CDATA[Reply to Kombinationen rausfinden und in Liste speichern on Thu, 13 Nov 2008 15:43:55 GMT]]></title><description><![CDATA[<p>Du musst Dir einfach klar sein, was Du willst und das dann sauber programmieren. Niemand hier im Forum will Dein fehlendes Nachdenken übernehmen!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1614210</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1614210</guid><dc:creator><![CDATA[berniebutt]]></dc:creator><pubDate>Thu, 13 Nov 2008 15:43:55 GMT</pubDate></item><item><title><![CDATA[Reply to Kombinationen rausfinden und in Liste speichern on Thu, 13 Nov 2008 20:48:06 GMT]]></title><description><![CDATA[<p>Kuldren schrieb:</p>
<blockquote>
<p>gadiator schrieb:</p>
<blockquote>
<p>Hallo,<br />
ich habe folgendes Vorhaben:<br />
Ich möchte eine Liste erstellen mit N Elementen<br />
Das 1. und N. Element muss den Wert 0 haben.<br />
Dazwischen dürfen die Werte -1, 0 oder +1 vom vorherigen abweichen.<br />
Insgesammt dürfen es keine negativen Werte sein.<br />
Mein Algoritmus, muss nun alle möglichen Kombinationen ausprobieren.<br />
Und alle die funktionieren in einer eigenen Liste speichern.<br />
Hat da jemand eine Idee wie ich das schaffe?</p>
<p>Vielen Dank im voraus.<br />
Bei N = 4 z.B. müssten folgende Lösungen rauskommen:<br />
0000<br />
0100<br />
0010<br />
0110</p>
<p>Dome</p>
</blockquote>
<p>Alle Kombinationen aus was?<br />
Aus allen möglichen Zahlen in der Liste, aus allen möglichen natürlichen Zahlen, Fließkommazahlen, komplexen Zahlen!?<br />
und was bedeutet &quot;alle die funktionieren&quot; ?</p>
</blockquote>
<p>Natürliche Zahlen</p>
<p>berniebutt schrieb:</p>
<blockquote>
<p>Du musst Dir einfach klar sein, was Du willst und das dann sauber programmieren. Niemand hier im Forum will Dein fehlendes Nachdenken übernehmen!</p>
</blockquote>
<p>Ja ich habe ja nachgedacht und wenn ich eine Lösung gefunden hätte, würde ich ja hier nicht Fragen.</p>
<p>Eigentlich ist das ganze nur eine fortführung von dem Problem hier:<br />
<a href="http://www.c-plusplus.net/forum/viewtopic-var-t-is-226615-and-highlight-is-.html" rel="nofollow">http://www.c-plusplus.net/forum/viewtopic-var-t-is-226615-and-highlight-is-.html</a></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1614385</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1614385</guid><dc:creator><![CDATA[gadiator]]></dc:creator><pubDate>Thu, 13 Nov 2008 20:48:06 GMT</pubDate></item><item><title><![CDATA[Reply to Kombinationen rausfinden und in Liste speichern on Thu, 13 Nov 2008 21:30:00 GMT]]></title><description><![CDATA[<p>Du willst eine Liste aus ALLEN natürlichen Zahlen erstellen und dann daraus alle Permutationen auf irgendwas prüfen?<br />
Na Mahlzeit...</p>
<p>Mal ehrlich...ich kann mir schon vorstellen was du meinst aber ohne genauere Beschreibung bekommst du hier nicht mal hilfe...wie denn auch...keiner weiß was du genau meinst.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1614413</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1614413</guid><dc:creator><![CDATA[Kuldren]]></dc:creator><pubDate>Thu, 13 Nov 2008 21:30:00 GMT</pubDate></item><item><title><![CDATA[Reply to Kombinationen rausfinden und in Liste speichern on Thu, 13 Nov 2008 21:52:37 GMT]]></title><description><![CDATA[<p>Ich denke, er hat sein Problem genügend genau beschrieben:</p>
<p>gadiator schrieb:</p>
<blockquote>
<p>Ich möchte eine Liste erstellen mit N Elementen<br />
Das 1. und N. Element muss den Wert 0 haben.<br />
Dazwischen dürfen die Werte -1, 0 oder +1 vom vorherigen abweichen.<br />
Insgesammt dürfen es keine negativen Werte sein.</p>
</blockquote>
<p><strong>@ gadiator:</strong><br />
Du musst dir halt überlegen, wie du systematisch alle Kombinationen erreichen kannst.</p>
<p>Das erste Element muss schon mal 0 sein. Das zweite kann -1, 0 oder +1 sein. Das dritte dann -2, -1, 0, +1 oder +2. Und so weiter...</p>
<p>Was das Kriterium &quot;insgesamt dürfen es keine negativen Werte sein&quot; betrifft: Unter der Annahme, du meinst damit, dass die Summe aller Werte &gt;= 0 sein muss, kannst du dir überlegen, wie du das schaffst. Eine einfache, aber nicht gerade optimale Lösung wäre, alle Kombinationen auszuprobieren, und dann die mit negativer Summe wegzulassen. Vielleicht findest du ja einen besseren Weg... <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>
]]></description><link>https://www.c-plusplus.net/forum/post/1614425</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1614425</guid><dc:creator><![CDATA[Nexus]]></dc:creator><pubDate>Thu, 13 Nov 2008 21:52:37 GMT</pubDate></item><item><title><![CDATA[Reply to Kombinationen rausfinden und in Liste speichern on Thu, 13 Nov 2008 22:10:32 GMT]]></title><description><![CDATA[<p>Nexus schrieb:</p>
<blockquote>
<p>Ich denke, er hat sein Problem genügend genau beschrieben:</p>
<p>gadiator schrieb:</p>
<blockquote>
<p>Ich möchte eine Liste erstellen mit N Elementen<br />
Das 1. und N. Element muss den Wert 0 haben.<br />
Dazwischen dürfen die Werte -1, 0 oder +1 vom vorherigen abweichen.<br />
Insgesammt dürfen es keine negativen Werte sein.</p>
</blockquote>
<p><strong>@ gadiator:</strong><br />
Du musst dir halt überlegen, wie du systematisch alle Kombinationen erreichen kannst.</p>
<p>Das erste Element muss schon mal 0 sein. Das zweite kann -1, 0 oder +1 sein. Das dritte dann -2, -1, 0, +1 oder +2. Und so weiter...</p>
<p>Was das Kriterium &quot;insgesamt dürfen es keine negativen Werte sein&quot; betrifft: Unter der Annahme, du meinst damit, dass die Summe aller Werte &gt;= 0 sein muss, kannst du dir überlegen, wie du das schaffst. Eine einfache, aber nicht gerade optimale Lösung wäre, alle Kombinationen auszuprobieren, und dann die mit negativer Summe wegzulassen. Vielleicht findest du ja einen besseren Weg... <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>
</blockquote>
<p>Sry vlt habe ich mich falsch ausgedrückt.<br />
Keiner der Werte darf negativ sein, wie ich es in dem Beispiel schon gezeigt habe.</p>
<blockquote>
<p>Bei N = 4 z.B. müssten folgende Lösungen rauskommen:<br />
0000<br />
0100<br />
0010<br />
0110</p>
</blockquote>
<p>Es darf also keien Lösung 0-100 rauskommen.<br />
Die Werte müssen imemr positiv sein oder halt 0.</p>
<p>Ich würde ja nicht Fragen, wenn ich eine gescheite Lösung gefunden hätte immerhin zerbreche ich mir da schon mindestens 2 Tage den Kopf darüber.<br />
Wäre echt super wenn mir jemand zumindest ein bisschen weiterhelfen könnte.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1614428</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1614428</guid><dc:creator><![CDATA[gadiator]]></dc:creator><pubDate>Thu, 13 Nov 2008 22:10:32 GMT</pubDate></item><item><title><![CDATA[Reply to Kombinationen rausfinden und in Liste speichern on Thu, 13 Nov 2008 23:06:02 GMT]]></title><description><![CDATA[<p>Na offenstichtlich hat ers nicht genau beschrieben.</p>
<blockquote>
<p>Ich möchte eine Liste erstellen mit N Elementen<br />
Das 1. und N. Element muss den Wert 0 haben.<br />
Dazwischen dürfen die Werte -1, 0 oder +1 vom vorherigen abweichen.<br />
Insgesammt dürfen es keine negativen Werte sein.</p>
</blockquote>
<p>Also<br />
0-Permutation aller Zahlen-0</p>
<p>Gilt das auch für 0980 ? oder muss die Bedingung schon für das zweite element gelten?<br />
also 01210 ?<br />
Egal<br />
So oder so musst du dein Feld durchlaufen und für jeden Eintrag die (sofern vorhanden) Nachbarn prüfen. Falls alle einzelnen Zahlen dieser einen Zahl (also z.b. 01210 0-1-2-1-0) die Bedingung erfüllen fügst du die Zahl dem Feld hinzu das die gültigen Zahlen speichert<br />
Wenn du irgendwo einen Nachbarn findest der die Regel verletzt, wird die Zahl einfach nicht in das Array der gültigen Zahlen aufgenommen.<br />
Am Ende hast du alle gültigen Einträge im Array und fertig</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1614437</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1614437</guid><dc:creator><![CDATA[Kuldren]]></dc:creator><pubDate>Thu, 13 Nov 2008 23:06:02 GMT</pubDate></item><item><title><![CDATA[Reply to Kombinationen rausfinden und in Liste speichern on Fri, 14 Nov 2008 05:58:03 GMT]]></title><description><![CDATA[<p>Nein 0980 geht nicht, weil der Werte Sprung von 0 nach 9 +9 ist und von 8 nach 0 -8 ist also IMMER nur entweder -1, 0 oder +1</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1614481</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1614481</guid><dc:creator><![CDATA[gadiator]]></dc:creator><pubDate>Fri, 14 Nov 2008 05:58:03 GMT</pubDate></item><item><title><![CDATA[Reply to Kombinationen rausfinden und in Liste speichern on Fri, 14 Nov 2008 13:26:24 GMT]]></title><description><![CDATA[<p>gadiator schrieb:</p>
<blockquote>
<p>Nein 0980 geht nicht, weil der Werte Sprung von 0 nach 9 +9 ist und von 8 nach 0 -8 ist also IMMER nur entweder -1, 0 oder +1</p>
</blockquote>
<p>Dachte ich mir schon...<br />
na dann..wo ist das Problem?<br />
du schaust dir als erstes die zweite stelle von links an und überprüfst deine -1,0,1 bedingung auf den/die nachbarn, dann den nächsten und immer so weiter</p>
<p>für alle möglichen kombinationen gehst du einfach alle durch.<br />
für 0-xx-0<br />
eben 0010,0020,0030,...,0990</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1614664</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1614664</guid><dc:creator><![CDATA[Kuldren]]></dc:creator><pubDate>Fri, 14 Nov 2008 13:26:24 GMT</pubDate></item><item><title><![CDATA[Reply to Kombinationen rausfinden und in Liste speichern on Fri, 14 Nov 2008 13:41:42 GMT]]></title><description><![CDATA[<p>Einfach nur weil mein Compile gerade anscheinend ne Stunde braucht und mir deswegen langweilig ist:</p>
<p>(sogar so langweilig daß die Lösung mies ist)</p>
<p>EDIT: Und Flüchtigkeitsfehler beinhaltet. Aber die kannst selber entfernen. <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f61b.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--face_with_tongue"
      title=":P"
      alt="😛"
    /></p>
<pre><code class="language-cpp">#include &lt;vector&gt;
#include &lt;iostream&gt;

using namespace std;

void check(vector&lt;int&gt; &amp;nums, int pos, int n){
    if (pos == n-1)
    {
	for(int i = 0; i &lt; n; i++)
	    cout &lt;&lt; nums[i] &lt;&lt; &quot; &quot;;
	cout &lt;&lt; endl;
    }
	int prev = nums[pos-1];
	int lower = prev-1;
	int equal = prev;
	int higher = prev+1;

	if (lower &gt;= 0){
	    nums[pos] = lower;
	    check(nums, pos+1, n);
	}
	if (equal &lt;= n - pos - 1)
	{
	    nums[pos] = equal;
	    check(nums, pos+1, n);
	}
	if (higher &lt;= n - pos - 1)
	{
	    nums[pos] = higher;
	    check(nums, pos+1, n);
	}			
    }
}

int main(){

    int n = 10;

    vector&lt;int&gt; nums;
    for(int i = 0; i &lt; n; i++)
	nums.push_back(0);

    check(nums, 1, n);
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1614675</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1614675</guid><dc:creator><![CDATA[Fellhuhn]]></dc:creator><pubDate>Fri, 14 Nov 2008 13:41:42 GMT</pubDate></item><item><title><![CDATA[Reply to Kombinationen rausfinden und in Liste speichern on Fri, 14 Nov 2008 17:23:01 GMT]]></title><description><![CDATA[<p>SO richtig?<br />
Weil so ganz ohne Kommentaren blicke ich das nicht so auf anhieb.</p>
<pre><code class="language-cpp">#include &lt;vector&gt;
#include &lt;iostream&gt;

using namespace std;

//---------------------------------------------------------------------------
void check(vector&lt;int&gt; &amp;nums, int pos, int n)
{
    if (pos == n-1)
    {
     for(int i = 0; i &lt; n; i++)
     {
      cout &lt;&lt; nums[i] &lt;&lt; &quot; &quot;;
     }
     cout &lt;&lt; endl;
    }
    int prev = nums[pos-1];
    int lower = prev-1;
    int equal = prev;
    int higher = prev+1;

    if (lower &gt;= 0)
    {
     nums[pos] = lower;
     check(nums, pos+1, n);
    }
    if (equal &lt;= n - pos - 1)
    {
     nums[pos] = equal;
     check(nums, pos+1, n);
    }
    if (higher &gt;= n - pos - 1)
    {
     nums[pos] = higher;
     check(nums, pos+1, n);
    }
}
//---------------------------------------------------------------------------
int start(int N)
{
    int n = N;

    vector&lt;int&gt; nums;
    for(int i = 0; i &lt; n; i++)
    nums.push_back(0);

    check(nums, 1, n);
}
//---------------------------------------------------------------------------
void __fastcall TForm1::StartButtonClick(TObject *Sender)
{
 N = StrToInt(Edit1-&gt;Text);
 start(N);
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1614820</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1614820</guid><dc:creator><![CDATA[gadiator]]></dc:creator><pubDate>Fri, 14 Nov 2008 17:23:01 GMT</pubDate></item></channel></rss>