<?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[Datensortierung]]></title><description><![CDATA[<p>Hi,.</p>
<p>und zwar möchte ich die Informationen, die sich in einem Feld befinden sortieren (ohne Bubblesort)</p>
<p>Ich geh so vor den größten wert zu suchen</p>
<pre><code>int x;
int big;
int king;
int alter[] = {5,8,3};

int main(int argc, char *argv[])
{       

     for(x=0; x&lt;3; x++)
   {
            if(alter[x] &gt; big)
            {
                 big = alter[x];
                 king = king + 1;
            }
   }                          
   cout &lt;&lt; &quot;\n\n&quot; &lt;&lt; king;  (king ist 3 also Array[2])

    system(&quot;PAUSE&quot;);
    return EXIT_SUCCESS;
}
</code></pre>
<p>Und dann möchte ich ja den größten wert löschen,..das er im feld eine 0 hat,..und dann soll er den 2 größten wert suchen und so weiter aber ich bekomme das nicht hin,.</p>
<p>alter[king] = 0;</p>
<p>und eine weitere schleife dann laufen zulassen ich hoffe auf Hilfe,..</p>
<p>das es dann so aussieht array[2] &lt; array[0] &lt; array[1];</p>
<p>array[2] = 3</p>
<p>array[0] = 5</p>
<p>array[1] = 8<br />
mfg</p>
<p>Svolf</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/171362/datensortierung</link><generator>RSS for Node</generator><lastBuildDate>Thu, 17 Sep 2026 10:34:45 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/171362.rss" rel="self" type="application/rss+xml"/><pubDate>Wed, 24 Jan 2007 18:14:50 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Datensortierung on Wed, 24 Jan 2007 18:38:08 GMT]]></title><description><![CDATA[<p>Hi,.</p>
<p>und zwar möchte ich die Informationen, die sich in einem Feld befinden sortieren (ohne Bubblesort)</p>
<p>Ich geh so vor den größten wert zu suchen</p>
<pre><code>int x;
int big;
int king;
int alter[] = {5,8,3};

int main(int argc, char *argv[])
{       

     for(x=0; x&lt;3; x++)
   {
            if(alter[x] &gt; big)
            {
                 big = alter[x];
                 king = king + 1;
            }
   }                          
   cout &lt;&lt; &quot;\n\n&quot; &lt;&lt; king;  (king ist 3 also Array[2])

    system(&quot;PAUSE&quot;);
    return EXIT_SUCCESS;
}
</code></pre>
<p>Und dann möchte ich ja den größten wert löschen,..das er im feld eine 0 hat,..und dann soll er den 2 größten wert suchen und so weiter aber ich bekomme das nicht hin,.</p>
<p>alter[king] = 0;</p>
<p>und eine weitere schleife dann laufen zulassen ich hoffe auf Hilfe,..</p>
<p>das es dann so aussieht array[2] &lt; array[0] &lt; array[1];</p>
<p>array[2] = 3</p>
<p>array[0] = 5</p>
<p>array[1] = 8<br />
mfg</p>
<p>Svolf</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1216248</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1216248</guid><dc:creator><![CDATA[Svolf]]></dc:creator><pubDate>Wed, 24 Jan 2007 18:38:08 GMT</pubDate></item><item><title><![CDATA[Reply to Datensortierung on Wed, 24 Jan 2007 21:17:28 GMT]]></title><description><![CDATA[<p>Svolf schrieb:</p>
<blockquote>
<p>Und dann möchte ich ja den größten wert löschen,..das er im feld eine 0 hat,..und dann soll er den 2 größten wert suchen und so weiter aber ich bekomme das nicht hin,.</p>
<p>alter[king] = 0;</p>
<p>und eine weitere schleife dann laufen zulassen ich hoffe auf Hilfe,..</p>
<p>das es dann so aussieht array[2] &lt; array[0] &lt; array[1];</p>
<p>array[2] = 3<br />
array[0] = 5<br />
array[1] = 8</p>
</blockquote>
<p>Hallo Svolf,</p>
<p>zunächst musst Du Dir in der Variablen 'king' den Index und nicht die Anzahl der Versuche merken, die Du benötigst, um das Maximum zu finden.</p>
<p>Dann kannst Du das ganze in eine weitere Schleife fassen, die jeweils das Maximum und den zugehörigen Index ausgibt. Also:</p>
<pre><code class="language-cpp">#include &lt;iostream&gt;

int main() // wenn argc &amp; argv nicht gebraucht werden, so lasse sie weg
{
    using namespace std;
    int alter[] = {5,8,3};      // lokale Variablen sind globalen vorzuziehen
    for( int durchlauf=0; durchlauf&lt;sizeof(alter)/sizeof(*alter); ++durchlauf )
    {
        int king;
        int big = -9999;        // mit kleinem Wert initialisieren; =&gt; std::numeric_limits&lt; int &gt;::min()
        for( int x=0; x&lt;sizeof(alter)/sizeof(*alter); ++x )  // besser: x &lt; sizeof(alter)/sizeof(*alter) statt x&lt;3
        {
            if(alter[x] &gt; big)
            {
                big = alter[x];
                king = x;       // Index des Maximums in alter[] merken
            }
        }     
        cout &lt;&lt; &quot;\nalter[&quot; &lt;&lt; king &lt;&lt; &quot;] = &quot; &lt;&lt; alter[king] &lt;&lt; endl;  // ausgeben
        alter[king] = 0;        // Maximum 'abschalten'
    }

    cin.get();                  // besser als system(&quot;PAUSE&quot;); siehe FAQ
    return 0;
}
</code></pre>
<p>und für den Interessierten noch mal die Alternative mit STl-Hilfe:</p>
<pre><code class="language-cpp">#include &lt;iostream&gt;
#include &lt;algorithm&gt;    // max_element

int main() // wenn argc &amp; argv nicht gebraucht werden, so lasse sie weg
{
    using namespace std;
    int alter[] = {5,8,3};      // lokale Variablen sind globalen vorzuziehen
    for( int durchlauf=0; durchlauf&lt;sizeof(alter)/sizeof(*alter); ++durchlauf )
    {
        int* iMax = max_element( alter, alter + sizeof(alter)/sizeof(*alter) );
        cout &lt;&lt; &quot;\nalter[&quot; &lt;&lt; (iMax-alter) &lt;&lt; &quot;] = &quot; &lt;&lt; *iMax &lt;&lt; endl;  // ausgeben
        *iMax = 0;              // Maximum 'abschalten'
    }

    cin.get();                  // besser als system(&quot;PAUSE&quot;); siehe FAQ
    return 0;
}
</code></pre>
<p>Gruß<br />
Werner</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1216435</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1216435</guid><dc:creator><![CDATA[Werner Salomon]]></dc:creator><pubDate>Wed, 24 Jan 2007 21:17:28 GMT</pubDate></item></channel></rss>