<?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]]></title><description><![CDATA[<p>hallo leute</p>
<p>ich möchte einen algorithmus schreiben, der in einem stringrid mit neun zeilen und neun spalten, in dem die zahlen von eins bis neun drinstehen sortiert.</p>
<p>und zwar dass keine gleichen zahlen untereinanderstehen.</p>
<p>soweit so gut, aber sobald in der obersten zeile eine neun steht, sortiert er die darunterliegenden zahlen nicht mehr und hab keinen plan wieso???</p>
<p>grundlegend funktioniert er so:</p>
<p>in der ersten zeile wird eine eins gesucht. hat er die gefunden überprüft er ob in der darunterliegenden zeile in der gleichen spalte eine eins liegt.<br />
ist eine eins vorhanden, wird diese um ein feld nach rechts verschoben.<br />
dann die nächste zeile nach einer eins gesucht.... usw</p>
<p>hier der code mit kommentaren</p>
<pre><code class="language-cpp">int ZeilenSpeicher;      //
   int SpaltenSpeicher;     //
   for(int x=0;x&lt;500;x++)   // 500 facher durchlauf des algorithmus
   {
   for(int Laufzahl=1;Laufzahl&lt;=9;Laufzahl++)   //zahl die überprüft wird
    {
    for(int zeile=1;zeile&lt;=9;zeile++)  // zählschleife für zeile
      {
      for (int spalte=1;spalte&lt;=9;spalte++) //zählschleife für spalte
       {
         if(sg-&gt;Cells [spalte-1][zeile-1] == Laufzahl) // Eins vorhanden Y/N
          {
            ZeilenSpeicher = zeile;          // speicherung der momentanen Zeile
            SpaltenSpeicher = spalte;        // speucherung der momentanen Spalte
            zeile++;                         // nächste spalte wird aufgerufen

            for(zeile;zeile&lt;=9;zeile++)      // zählschleife zum prüfen ob weitere zahl in der spalt vorhanden
             {
             if(sg-&gt;Cells [spalte-1][zeile-1] == Laufzahl)
               {
                if(spalte&lt;9)         //tauschen wenn spalte &lt; 9
                 {
                  int Speicher;
                  Speicher = StrToInt(sg-&gt;Cells [spalte-1][zeile-1]);
                  sg-&gt;Cells [spalte-1][zeile-1] = sg-&gt;Cells [spalte][zeile-1];
                  sg-&gt;Cells [spalte][zeile-1] = Speicher ;
                 }
                else         // sonst an anfang des stringgrids stellen
                 {
                  int Speicher;
                  Speicher = StrToInt(sg-&gt;Cells [spalte-1][zeile-1]);
                  sg-&gt;Cells [spalte-1][zeile-1] = sg-&gt;Cells [1][zeile-1];
                  sg-&gt;Cells [1][zeile-1] = Speicher ;
                 }
               }

             }
           zeile = ZeilenSpeicher;        // rückgabe der ursprünglichen zeile
           spalte = SpaltenSpeicher;      // rückgabe der ursprünglichen spalte
          }

       }
      }
    }
   }
</code></pre>
<p><img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f615.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--confused_face"
      title=":confused:"
      alt="😕"
    /> <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f615.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--confused_face"
      title=":confused:"
      alt="😕"
    /></p>
<p>wer lust hat ein bisschen zu tüfteln und mir einige tipps geben kann...</p>
<p>ich bin sehr dankbar</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/226347/sortieralgorithmus</link><generator>RSS for Node</generator><lastBuildDate>Wed, 30 Sep 2026 18:59:42 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/226347.rss" rel="self" type="application/rss+xml"/><pubDate>Fri, 31 Oct 2008 11:23:05 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to sortieralgorithmus on Fri, 31 Oct 2008 11:23:05 GMT]]></title><description><![CDATA[<p>hallo leute</p>
<p>ich möchte einen algorithmus schreiben, der in einem stringrid mit neun zeilen und neun spalten, in dem die zahlen von eins bis neun drinstehen sortiert.</p>
<p>und zwar dass keine gleichen zahlen untereinanderstehen.</p>
<p>soweit so gut, aber sobald in der obersten zeile eine neun steht, sortiert er die darunterliegenden zahlen nicht mehr und hab keinen plan wieso???</p>
<p>grundlegend funktioniert er so:</p>
<p>in der ersten zeile wird eine eins gesucht. hat er die gefunden überprüft er ob in der darunterliegenden zeile in der gleichen spalte eine eins liegt.<br />
ist eine eins vorhanden, wird diese um ein feld nach rechts verschoben.<br />
dann die nächste zeile nach einer eins gesucht.... usw</p>
<p>hier der code mit kommentaren</p>
<pre><code class="language-cpp">int ZeilenSpeicher;      //
   int SpaltenSpeicher;     //
   for(int x=0;x&lt;500;x++)   // 500 facher durchlauf des algorithmus
   {
   for(int Laufzahl=1;Laufzahl&lt;=9;Laufzahl++)   //zahl die überprüft wird
    {
    for(int zeile=1;zeile&lt;=9;zeile++)  // zählschleife für zeile
      {
      for (int spalte=1;spalte&lt;=9;spalte++) //zählschleife für spalte
       {
         if(sg-&gt;Cells [spalte-1][zeile-1] == Laufzahl) // Eins vorhanden Y/N
          {
            ZeilenSpeicher = zeile;          // speicherung der momentanen Zeile
            SpaltenSpeicher = spalte;        // speucherung der momentanen Spalte
            zeile++;                         // nächste spalte wird aufgerufen

            for(zeile;zeile&lt;=9;zeile++)      // zählschleife zum prüfen ob weitere zahl in der spalt vorhanden
             {
             if(sg-&gt;Cells [spalte-1][zeile-1] == Laufzahl)
               {
                if(spalte&lt;9)         //tauschen wenn spalte &lt; 9
                 {
                  int Speicher;
                  Speicher = StrToInt(sg-&gt;Cells [spalte-1][zeile-1]);
                  sg-&gt;Cells [spalte-1][zeile-1] = sg-&gt;Cells [spalte][zeile-1];
                  sg-&gt;Cells [spalte][zeile-1] = Speicher ;
                 }
                else         // sonst an anfang des stringgrids stellen
                 {
                  int Speicher;
                  Speicher = StrToInt(sg-&gt;Cells [spalte-1][zeile-1]);
                  sg-&gt;Cells [spalte-1][zeile-1] = sg-&gt;Cells [1][zeile-1];
                  sg-&gt;Cells [1][zeile-1] = Speicher ;
                 }
               }

             }
           zeile = ZeilenSpeicher;        // rückgabe der ursprünglichen zeile
           spalte = SpaltenSpeicher;      // rückgabe der ursprünglichen spalte
          }

       }
      }
    }
   }
</code></pre>
<p><img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f615.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--confused_face"
      title=":confused:"
      alt="😕"
    /> <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f615.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--confused_face"
      title=":confused:"
      alt="😕"
    /></p>
<p>wer lust hat ein bisschen zu tüfteln und mir einige tipps geben kann...</p>
<p>ich bin sehr dankbar</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1607971</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1607971</guid><dc:creator><![CDATA[gewup]]></dc:creator><pubDate>Fri, 31 Oct 2008 11:23:05 GMT</pubDate></item><item><title><![CDATA[Reply to sortieralgorithmus on Sat, 01 Nov 2008 15:13:48 GMT]]></title><description><![CDATA[<p>keiner eine idee???</p>
<p>hab schon stunden lang daran probiert... aber finde den fehler nicht</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1608583</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1608583</guid><dc:creator><![CDATA[gewup]]></dc:creator><pubDate>Sat, 01 Nov 2008 15:13:48 GMT</pubDate></item><item><title><![CDATA[Reply to sortieralgorithmus on Sun, 02 Nov 2008 11:13:37 GMT]]></title><description><![CDATA[<p>Da wird keiner Lust haben dein Code zu verstehen und deinen Fehler zu finden.</p>
<p>Aber ich kann dir mal ein paar Allgemeinte Tipps geben:</p>
<p>- Probier deinen Code besser zu strukturieren und wenn nötig klare Funktionen zuweisen und, wie es der Name bereits sagt daraus Funktionen zu machen.<br />
- Geringere Verschachtlungstiefe hilft ebenfalls für die Lesbarkeit (und somit das finden von (Denk)Fehlern.<br />
- Wenn das alles nichts hilft, dann muss wohl der Debugger herhalten, wo du dann Schritt für Schritt durchgehen musst und die Werte, die du erwartest mit denen, die es herausgibt vergleichen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1608884</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1608884</guid><dc:creator><![CDATA[drakon]]></dc:creator><pubDate>Sun, 02 Nov 2008 11:13:37 GMT</pubDate></item></channel></rss>