<?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[sortieralgorithmus für ein 2 dim arrays]]></title><description><![CDATA[<p>hallo<br />
ich soll einen Sortieralgorithmus für ein beliebig großes zweidimensionales Array entwickeln. Die einzelnen Elemente sollen der Grösse nach sortiert werden.</p>
<p>Z.B. so:</p>
<p>cin&gt;&gt;m; // z.B. 3<br />
cin&gt;&gt;n; // z.B. 3</p>
<p>sortiert sollte es so<br />
1 2 3<br />
4 5 6<br />
7 8 9</p>
<p>oder so<br />
1 4 7<br />
2 5 8<br />
3 6 9<br />
aussehen</p>
<p>die spalten werden bei meinen programm sortiert,aber nicht untereinander, das es dann wie ober beschrieben aussieht,ich weiß nicht wie ich es hinbekommen soll</p>
<p>kann mir bitte jemand helfen</p>
<p>hier ist mein programm</p>
<p>#include &lt;iostream.h&gt;</p>
<p>void main()<br />
{</p>
<p>cout&lt;&lt;&quot;Programm mit Sortieralgorithmus fuer einen zweidimensionalen Vektor\n\n&quot;;<br />
double xy[10][10], ablage; //Zeilen- und Spaltenanzahl definieren</p>
<p>int zeilen, spalten, i, k, l, j;</p>
<p>cout&lt;&lt;&quot;Wieviele Zeilen? :&quot;;cin&gt;&gt;zeilen;<br />
cout&lt;&lt;&quot;Wieviele Spalten? :&quot;;cin&gt;&gt;spalten;cout&lt;&lt;endl;</p>
<p>for (i=0;i&lt;zeilen;i++) //Eingabe der Werte<br />
{<br />
cout&lt;&lt;&quot;&quot;&lt;&lt;i&lt;&lt;&quot;. Zeile eingeben : &quot;;<br />
for (l=0;l&lt;spalten;l++)<br />
{<br />
cin&gt;&gt;xy[i][l];<br />
}</p>
<p>}<br />
//Sortieren<br />
for (l=0;l&lt;spalten;l++)<br />
{</p>
<p>for (i=0;i&lt;zeilen;i++)<br />
{<br />
for(j=l;j&lt;spalten;j++)<br />
{<br />
for(k=i;k&lt;zeilen;k++)</p>
<p>if (xy[i][l]&gt;xy[k][j])<br />
{<br />
ablage=xy[i][l];<br />
xy[i][l]=xy[k][j];<br />
xy[k][j]=ablage;<br />
}<br />
}</p>
<p>}<br />
}</p>
<p>cout&lt;&lt;&quot;\nAusgabe der sortierten Werte\n&quot;; //Ausgabe<br />
for (i=0;i&lt;zeilen;i++)<br />
{<br />
for (l=0;l&lt;spalten;l++)<br />
{<br />
cout&lt;&lt;xy[i][l]&lt;&lt;&quot; &quot;;<br />
}<br />
cout&lt;&lt;endl;<br />
}</p>
<p>}</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/148899/sortieralgorithmus-für-ein-2-dim-arrays</link><generator>RSS for Node</generator><lastBuildDate>Sat, 05 Sep 2026 03:59:41 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/148899.rss" rel="self" type="application/rss+xml"/><pubDate>Wed, 31 May 2006 14:19:18 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to sortieralgorithmus für ein 2 dim arrays on Wed, 31 May 2006 14:19:18 GMT]]></title><description><![CDATA[<p>hallo<br />
ich soll einen Sortieralgorithmus für ein beliebig großes zweidimensionales Array entwickeln. Die einzelnen Elemente sollen der Grösse nach sortiert werden.</p>
<p>Z.B. so:</p>
<p>cin&gt;&gt;m; // z.B. 3<br />
cin&gt;&gt;n; // z.B. 3</p>
<p>sortiert sollte es so<br />
1 2 3<br />
4 5 6<br />
7 8 9</p>
<p>oder so<br />
1 4 7<br />
2 5 8<br />
3 6 9<br />
aussehen</p>
<p>die spalten werden bei meinen programm sortiert,aber nicht untereinander, das es dann wie ober beschrieben aussieht,ich weiß nicht wie ich es hinbekommen soll</p>
<p>kann mir bitte jemand helfen</p>
<p>hier ist mein programm</p>
<p>#include &lt;iostream.h&gt;</p>
<p>void main()<br />
{</p>
<p>cout&lt;&lt;&quot;Programm mit Sortieralgorithmus fuer einen zweidimensionalen Vektor\n\n&quot;;<br />
double xy[10][10], ablage; //Zeilen- und Spaltenanzahl definieren</p>
<p>int zeilen, spalten, i, k, l, j;</p>
<p>cout&lt;&lt;&quot;Wieviele Zeilen? :&quot;;cin&gt;&gt;zeilen;<br />
cout&lt;&lt;&quot;Wieviele Spalten? :&quot;;cin&gt;&gt;spalten;cout&lt;&lt;endl;</p>
<p>for (i=0;i&lt;zeilen;i++) //Eingabe der Werte<br />
{<br />
cout&lt;&lt;&quot;&quot;&lt;&lt;i&lt;&lt;&quot;. Zeile eingeben : &quot;;<br />
for (l=0;l&lt;spalten;l++)<br />
{<br />
cin&gt;&gt;xy[i][l];<br />
}</p>
<p>}<br />
//Sortieren<br />
for (l=0;l&lt;spalten;l++)<br />
{</p>
<p>for (i=0;i&lt;zeilen;i++)<br />
{<br />
for(j=l;j&lt;spalten;j++)<br />
{<br />
for(k=i;k&lt;zeilen;k++)</p>
<p>if (xy[i][l]&gt;xy[k][j])<br />
{<br />
ablage=xy[i][l];<br />
xy[i][l]=xy[k][j];<br />
xy[k][j]=ablage;<br />
}<br />
}</p>
<p>}<br />
}</p>
<p>cout&lt;&lt;&quot;\nAusgabe der sortierten Werte\n&quot;; //Ausgabe<br />
for (i=0;i&lt;zeilen;i++)<br />
{<br />
for (l=0;l&lt;spalten;l++)<br />
{<br />
cout&lt;&lt;xy[i][l]&lt;&lt;&quot; &quot;;<br />
}<br />
cout&lt;&lt;endl;<br />
}</p>
<p>}</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1068852</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1068852</guid><dc:creator><![CDATA[honda_cr]]></dc:creator><pubDate>Wed, 31 May 2006 14:19:18 GMT</pubDate></item><item><title><![CDATA[Reply to sortieralgorithmus für ein 2 dim arrays on Wed, 31 May 2006 21:18:55 GMT]]></title><description><![CDATA[<p>Wenn ich's richtig verstanden habe, sollst Du die Werte genau so sortieren, wie sie in C++ auch im Speicher liegen (ich weiß nicht, ob das Standard ist?).</p>
<p>Nehmen wir mal an, es sei so, dann gehts ganz einfach:</p>
<pre><code class="language-cpp">double xy[3][3];
// xy mit Werten füllen
std::sort( &amp;xy[0][0], &amp;xy[2][2] + 1 ); // und sortieren.
</code></pre>
<p>.. das setzt allerdings voraus, dass das 2D-Array vollständig benutzt wird. Es so nicht möglich ein 3x3-Feld in einem 10x10-Arrays zu sortieren. Wenn die Dimension flexibel sein soll, kann man sich damit behelfen, es auf dem Heap anzulegen .. <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f644.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--face_with_rolling_eyes"
      title=":rolling_eyes:"
      alt="🙄"
    /></p>
<p>Ansonsten bleibt die alte Regel: meide mehrdimensionale Felder - nehme 1-dimensionale - am besten gleich STL-Container und realisiere einen Zugriff über eine Index-Schlüssel mit zwei oder mehr Werten (siehe auch std::valarray).</p>
<p>Gruß<br />
Werner</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1069179</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1069179</guid><dc:creator><![CDATA[Werner Salomon]]></dc:creator><pubDate>Wed, 31 May 2006 21:18:55 GMT</pubDate></item></channel></rss>