<?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[Permutation - Funktion]]></title><description><![CDATA[<p>Hey habe eine Frage: soll ein Programm schreiben, das alle Permutationen einer Zahl ausgibt. Nun habe ich die Funktion geschrieben und sie funktioniert soweit auch. Allerdings nur mit 2 und 3 Zahlen. Ab 4 Zahlen wiederholen sich nach einer gewissen Anzahl die Zahlen;<br />
Wäre toll wenn mir wer einen Tipp geben könnte, was ich ändern soll.<br />
Achja und ich weiß, dass es eine Funktion in der Bibliothek gibt, aber wir sollen sie eben selber schreiben.</p>
<pre><code>void kombi(int arr[], int i) {
	int zaehler=1;
	int hilf = 0;
	int *p=arr;
	for (int k=0;k&lt;i;k++)
		cout &lt;&lt; p[k];
	cout &lt;&lt; endl;
	while (zaehler &lt; fak(i))
	{
		if (*(p+1) == 0 || *p == 0)
			p = arr;

		else
		{
			hilf = *p;
			*p = *(p+1);
			*(p+1) = hilf;
			for (int k=0;k&lt;i;k++)
				cout &lt;&lt; arr[k];
			cout &lt;&lt; endl;
			p = p+1;
			zaehler++;
		}
	}
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/topic/321502/permutation-funktion</link><generator>RSS for Node</generator><lastBuildDate>Tue, 21 Jul 2026 00:05:38 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/321502.rss" rel="self" type="application/rss+xml"/><pubDate>Wed, 13 Nov 2013 21:11:50 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Permutation - Funktion on Wed, 13 Nov 2013 21:11:50 GMT]]></title><description><![CDATA[<p>Hey habe eine Frage: soll ein Programm schreiben, das alle Permutationen einer Zahl ausgibt. Nun habe ich die Funktion geschrieben und sie funktioniert soweit auch. Allerdings nur mit 2 und 3 Zahlen. Ab 4 Zahlen wiederholen sich nach einer gewissen Anzahl die Zahlen;<br />
Wäre toll wenn mir wer einen Tipp geben könnte, was ich ändern soll.<br />
Achja und ich weiß, dass es eine Funktion in der Bibliothek gibt, aber wir sollen sie eben selber schreiben.</p>
<pre><code>void kombi(int arr[], int i) {
	int zaehler=1;
	int hilf = 0;
	int *p=arr;
	for (int k=0;k&lt;i;k++)
		cout &lt;&lt; p[k];
	cout &lt;&lt; endl;
	while (zaehler &lt; fak(i))
	{
		if (*(p+1) == 0 || *p == 0)
			p = arr;

		else
		{
			hilf = *p;
			*p = *(p+1);
			*(p+1) = hilf;
			for (int k=0;k&lt;i;k++)
				cout &lt;&lt; arr[k];
			cout &lt;&lt; endl;
			p = p+1;
			zaehler++;
		}
	}
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/2365389</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2365389</guid><dc:creator><![CDATA[prgnewbie]]></dc:creator><pubDate>Wed, 13 Nov 2013 21:11:50 GMT</pubDate></item><item><title><![CDATA[Reply to Permutation - Funktion on Wed, 13 Nov 2013 21:19:30 GMT]]></title><description><![CDATA[<p>Der Algorithmus ist schlicht und einfach komplett falsch. Da gibt es gar nichts, wo man sagen kann: Hier ist der Fehler. Du tauschst da anscheinend immer wieder von vorne nebeneinanderliegende Pärchen durch, aber das kann natürlich nie alle Permutationen generieren. Ich schlage vor, du denkst das nochmal von vorne durch.</p>
<p>Dass dein Algorithmus eher auf der richtigen Seite liegt, erkennst du übrigens daran, dass sich die Anzahl auf natürliche Weise ergibt, und sowas wie <code>while (zaehler &lt; fak(i)</code> nicht notwendig ist.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2365392</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2365392</guid><dc:creator><![CDATA[Bashar]]></dc:creator><pubDate>Wed, 13 Nov 2013 21:19:30 GMT</pubDate></item><item><title><![CDATA[Reply to Permutation - Funktion on Thu, 14 Nov 2013 11:21:51 GMT]]></title><description><![CDATA[<p>Ein weiteres Stichwort zur Hilfe: Rekursion</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2365448</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2365448</guid><dc:creator><![CDATA[Th69]]></dc:creator><pubDate>Thu, 14 Nov 2013 11:21:51 GMT</pubDate></item></channel></rss>