<?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[array sortieren]]></title><description><![CDATA[<p>Hallo,</p>
<p>ich möchte ein Array nach der Größe sortieren und habe dazu folgenden Code entwickelt:</p>
<pre><code class="language-cpp">//---------------------------------------------------------------------------
const int zahl = 5;
int feld[zahl] = {5,2,3,1,4};
//---------------------------------------------------------------------------
void sortieren ()
{
for (int i=0;i&lt;zahl;i++)
{
 int p = 0;
 for (int y=i; y&lt;zahl; y++)
 {
  if (feld[y]&lt;feld[p])
   p = y;
 }
 int h = feld[p];
 feld[p] = feld[i];
 feld[i] = h;
}
}
//---------------------------------------------------------------------------
</code></pre>
<p>Da gibt es nur ein Problem, es kommt als Ergebnis</p>
<p>5<br />
1<br />
2<br />
3<br />
4<br />
raus.</p>
<p>Hat jemand eine Idee voran das liegen könnte?</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/140509/array-sortieren</link><generator>RSS for Node</generator><lastBuildDate>Mon, 31 Aug 2026 02:30:24 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/140509.rss" rel="self" type="application/rss+xml"/><pubDate>Wed, 15 Mar 2006 13:22:21 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to array sortieren on Wed, 15 Mar 2006 13:22:21 GMT]]></title><description><![CDATA[<p>Hallo,</p>
<p>ich möchte ein Array nach der Größe sortieren und habe dazu folgenden Code entwickelt:</p>
<pre><code class="language-cpp">//---------------------------------------------------------------------------
const int zahl = 5;
int feld[zahl] = {5,2,3,1,4};
//---------------------------------------------------------------------------
void sortieren ()
{
for (int i=0;i&lt;zahl;i++)
{
 int p = 0;
 for (int y=i; y&lt;zahl; y++)
 {
  if (feld[y]&lt;feld[p])
   p = y;
 }
 int h = feld[p];
 feld[p] = feld[i];
 feld[i] = h;
}
}
//---------------------------------------------------------------------------
</code></pre>
<p>Da gibt es nur ein Problem, es kommt als Ergebnis</p>
<p>5<br />
1<br />
2<br />
3<br />
4<br />
raus.</p>
<p>Hat jemand eine Idee voran das liegen könnte?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1016696</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1016696</guid><dc:creator><![CDATA[Heinke]]></dc:creator><pubDate>Wed, 15 Mar 2006 13:22:21 GMT</pubDate></item><item><title><![CDATA[Reply to array sortieren on Wed, 15 Mar 2006 13:27:48 GMT]]></title><description><![CDATA[<p>Ich würde an deiner Stelle mal den Debugger nehmen und dort einzeln durchsteppen. (auf den ersten Blick sehe ich jedenfalls keinen Fehler)</p>
<p>PS: Oder du nutzt gleich die STL:</p>
<pre><code class="language-cpp">#include &lt;algorithm&gt;

...
const int zahl = 5;
int feld[zahl] = {5,2,3,1,4};
std::sort(feld,feld+zahl);
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1016703</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1016703</guid><dc:creator><![CDATA[CStoll]]></dc:creator><pubDate>Wed, 15 Mar 2006 13:27:48 GMT</pubDate></item><item><title><![CDATA[Reply to array sortieren on Wed, 15 Mar 2006 13:29:11 GMT]]></title><description><![CDATA[<p>die STL darf ich nicht benutzen, ich muss das selbst schreiben.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1016704</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1016704</guid><dc:creator><![CDATA[Heinke]]></dc:creator><pubDate>Wed, 15 Mar 2006 13:29:11 GMT</pubDate></item><item><title><![CDATA[Reply to array sortieren on Wed, 15 Mar 2006 13:36:41 GMT]]></title><description><![CDATA[<p>*schaut sich den Code etwas genauer an*</p>
<p>Dein Fehler ist, daß du p falsch initialisierst - dort sollte wohl eher ein &quot;p=i;&quot; vor der inneren Schleife stehen (feld[0] ist schließlich schon sortiert).</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1016710</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1016710</guid><dc:creator><![CDATA[CStoll]]></dc:creator><pubDate>Wed, 15 Mar 2006 13:36:41 GMT</pubDate></item><item><title><![CDATA[Reply to array sortieren on Wed, 15 Mar 2006 13:44:22 GMT]]></title><description><![CDATA[<p>Danke, es funktioniert jetzt. Aber ehrlich gesagt, hab ich nicht ganz verstanden warum. Kannst du es mir bitte erklären? <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f44d.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--thumbs_up"
      title=":+1:"
      alt="👍"
    /> <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/1016718</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1016718</guid><dc:creator><![CDATA[Heinke]]></dc:creator><pubDate>Wed, 15 Mar 2006 13:44:22 GMT</pubDate></item><item><title><![CDATA[Reply to array sortieren on Wed, 15 Mar 2006 13:53:45 GMT]]></title><description><![CDATA[<p>In deinem falschen Programm:<br />
nach dem ersten Durchlauf steht in feld[0] dein kleinstes Element und feld[1] bis feld[4] sind noch unsortiert - d.h. am Ende deiner innersten Schleife wird p immer noch auf 0 zeigen (weil du kein kleineres Element gefunden hast) und du packst die 1 an Position i (=1).</p>
<p>Jetzt ersetzen wir &quot;p=0;&quot; durch &quot;p=i;&quot;:<br />
Jetzt wird beim zweiten Durchlauf das Element feld[0] gar nicht mehr überprüft - und die innere Schleife findet korrekterweise das kleinste Element aus dem Restfeld (die 2) - und stellt es an den Anfang des Restfeldes.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1016730</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1016730</guid><dc:creator><![CDATA[CStoll]]></dc:creator><pubDate>Wed, 15 Mar 2006 13:53:45 GMT</pubDate></item><item><title><![CDATA[Reply to array sortieren on Wed, 15 Mar 2006 13:58:03 GMT]]></title><description><![CDATA[<p>Du vertauschst die Zahl an Position i mit der Zahl an Position p. p bestimmst du, indem du einen Wert suchst, der kleiner als der an Position i ist.</p>
<p>Wenn du keinen findest, <em>bleibt p auf 0</em>, du vertauschst aber trotzdem. Das kannst du umgehen, indem du p mit i initialisiert. Dann wird eine Zahl mit sich selbst vertauscht.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1016738</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1016738</guid><dc:creator><![CDATA[MFK]]></dc:creator><pubDate>Wed, 15 Mar 2006 13:58:03 GMT</pubDate></item><item><title><![CDATA[Reply to array sortieren on Wed, 15 Mar 2006 14:17:39 GMT]]></title><description><![CDATA[<p>OK, vielen Dank!</p>
<p>Ich hab nur noch eine Frage:</p>
<p>Das Programm soll nach dem Prinzip funktionieren, dass nur die Stelle an &quot;i&quot; getauscht wird, die die kleinste im verbleibenden Feld ist. Das hab ich doch erreicht oder? Bin mir nicht ganz sicher, denke aber, dass es so ist.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1016769</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1016769</guid><dc:creator><![CDATA[Heinke]]></dc:creator><pubDate>Wed, 15 Mar 2006 14:17:39 GMT</pubDate></item></channel></rss>