<?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[Distribution Counting]]></title><description><![CDATA[<p>Ich bin gerade dabei Distribution Counting zu implementieren. Leider funktioniert meine Ausgabe nicht richtig. Es kommen nur unsortierte Zahlen dabei heraus. Der Sort müsste korrekt sein. Seht Ihr einen Fehler?</p>
<pre><code class="language-cpp">#include &lt;stdlib.h&gt;
#include &lt;iostream&gt;
#include &lt;time.h&gt;

using namespace std;

/*----------------------------------------------------------------------------------------------
DISTRIBUTION COUNTING*/

void distribution_counting(int field [] , int m, int field_length) 
{
	int count [m];
	for(int i = 0; i &lt; m; ++i) 
	{
		count[i] = 0;
	}
	for(int i = 0; i &lt; field_length; ++i) 
	{
		++count[field[i&rsqb;&rsqb;;
	}
	for(int i1 = 0, i2 = 0; i1 &lt; m; ++i1) 
	{
		for(int i3 = 0; i3 &lt; count[i1]; ++i3) 
		{
			field[i2++] = i1;
		}	
	}
}

/*------------------------------------------------------------------------------------------------*/

void print(int * pd, int size)
{
	cout &lt;&lt; &quot;Ausgabe: &quot; &lt;&lt; endl;
	for (int c = 0; c &lt; size; ++c) 
	{
		cout &lt;&lt; pd[c] &lt;&lt; &quot; &quot;;
	}
		cout &lt;&lt; endl;
}

/*----------------------------------------------------------------------------------------------*/

int main()
{	
    const int length = 10;
    const int max    = 10;
    int int_array [10];	
	int_array [0] = 10;
    int_array [1] = 9;
    int_array [2] = 8;
    int_array [3] = 7;
    int_array [4] = 6;
    int_array [5] = 5;
    int_array [6] = 4;
    int_array [7] = 3;
    int_array [8] = 2;
    int_array [9] = 1; 
    distribution_counting(int_array,max,length);
    print(int_array,length);	
	system(&quot;pause&quot;);
	return 0;
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/topic/132129/distribution-counting</link><generator>RSS for Node</generator><lastBuildDate>Thu, 27 Aug 2026 09:11:05 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/132129.rss" rel="self" type="application/rss+xml"/><pubDate>Sun, 08 Jan 2006 15:50:17 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Distribution Counting on Sun, 08 Jan 2006 15:50:17 GMT]]></title><description><![CDATA[<p>Ich bin gerade dabei Distribution Counting zu implementieren. Leider funktioniert meine Ausgabe nicht richtig. Es kommen nur unsortierte Zahlen dabei heraus. Der Sort müsste korrekt sein. Seht Ihr einen Fehler?</p>
<pre><code class="language-cpp">#include &lt;stdlib.h&gt;
#include &lt;iostream&gt;
#include &lt;time.h&gt;

using namespace std;

/*----------------------------------------------------------------------------------------------
DISTRIBUTION COUNTING*/

void distribution_counting(int field [] , int m, int field_length) 
{
	int count [m];
	for(int i = 0; i &lt; m; ++i) 
	{
		count[i] = 0;
	}
	for(int i = 0; i &lt; field_length; ++i) 
	{
		++count[field[i&rsqb;&rsqb;;
	}
	for(int i1 = 0, i2 = 0; i1 &lt; m; ++i1) 
	{
		for(int i3 = 0; i3 &lt; count[i1]; ++i3) 
		{
			field[i2++] = i1;
		}	
	}
}

/*------------------------------------------------------------------------------------------------*/

void print(int * pd, int size)
{
	cout &lt;&lt; &quot;Ausgabe: &quot; &lt;&lt; endl;
	for (int c = 0; c &lt; size; ++c) 
	{
		cout &lt;&lt; pd[c] &lt;&lt; &quot; &quot;;
	}
		cout &lt;&lt; endl;
}

/*----------------------------------------------------------------------------------------------*/

int main()
{	
    const int length = 10;
    const int max    = 10;
    int int_array [10];	
	int_array [0] = 10;
    int_array [1] = 9;
    int_array [2] = 8;
    int_array [3] = 7;
    int_array [4] = 6;
    int_array [5] = 5;
    int_array [6] = 4;
    int_array [7] = 3;
    int_array [8] = 2;
    int_array [9] = 1; 
    distribution_counting(int_array,max,length);
    print(int_array,length);	
	system(&quot;pause&quot;);
	return 0;
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/960692</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/960692</guid><dc:creator><![CDATA[shurik&#x27;n]]></dc:creator><pubDate>Sun, 08 Jan 2006 15:50:17 GMT</pubDate></item><item><title><![CDATA[Reply to Distribution Counting on Sun, 08 Jan 2006 15:56:04 GMT]]></title><description><![CDATA[<p><a href="http://www.lugbz.org/documents/smart-questions_de.html" rel="nofollow">http://www.lugbz.org/documents/smart-questions_de.html</a></p>
<p>fehlerbeschreibung fehlt.</p>
<p>benutze einen debugger.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/960697</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/960697</guid><dc:creator><![CDATA[c.rackwitz]]></dc:creator><pubDate>Sun, 08 Jan 2006 15:56:04 GMT</pubDate></item><item><title><![CDATA[Reply to Distribution Counting on Sun, 08 Jan 2006 16:31:19 GMT]]></title><description><![CDATA[<p>shurik'n schrieb:</p>
<blockquote>
<p>Ich bin gerade dabei Distribution Counting zu implementieren. Leider funktioniert meine Ausgabe nicht richtig. Es kommen nur unsortierte Zahlen dabei heraus. Der Sort müsste korrekt sein. Seht Ihr einen Fehler?</p>
<pre><code class="language-cpp">// ...

int main()
{	
    const int length = 10;
    const int max    = 10; // &lt;-- hier
    // ..
</code></pre>
</blockquote>
<p>der Wert 'max' gibt den Wertebereich der Zahlen in 'int_array' an - beginned mit '0'. Da der größte Wert ==10 ist, muss max == 11 sein. Die Zahlen von 0 bis 10 inklusive der 0 und der 10 sind 11 Werte!<br />
Dann sollte es gehen.</p>
<p>Gruß<br />
Werner</p>
]]></description><link>https://www.c-plusplus.net/forum/post/960773</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/960773</guid><dc:creator><![CDATA[Werner Salomon]]></dc:creator><pubDate>Sun, 08 Jan 2006 16:31:19 GMT</pubDate></item></channel></rss>