<?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[Sortieren !!]]></title><description><![CDATA[<p>Hi,<br />
ich suche einen kleine Algorithmus, wie ich ein Feld von mehreren Objekten sortieren kann!<br />
Es handelt sich hierbei um Zahlen von 1 bis 3 die je nachdem welche Zahl folgt einen anderen Wert haben!</p>
<p>Beispiel:</p>
<p>3 2 1 = Summe ist 284</p>
<p>1 2 3 = Summe ist 160</p>
<p>Ich möchte jetzt diese Zahlenreihe so sortieren, daß die Summe minimal wird !!</p>
<p>Um Hilfe wäre ich sehr dankbar!</p>
<p>mfg<br />
Neo</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/142007/sortieren</link><generator>RSS for Node</generator><lastBuildDate>Thu, 03 Sep 2026 16:28:39 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/142007.rss" rel="self" type="application/rss+xml"/><pubDate>Mon, 27 Mar 2006 11:04:21 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Sortieren !! on Mon, 27 Mar 2006 11:04:21 GMT]]></title><description><![CDATA[<p>Hi,<br />
ich suche einen kleine Algorithmus, wie ich ein Feld von mehreren Objekten sortieren kann!<br />
Es handelt sich hierbei um Zahlen von 1 bis 3 die je nachdem welche Zahl folgt einen anderen Wert haben!</p>
<p>Beispiel:</p>
<p>3 2 1 = Summe ist 284</p>
<p>1 2 3 = Summe ist 160</p>
<p>Ich möchte jetzt diese Zahlenreihe so sortieren, daß die Summe minimal wird !!</p>
<p>Um Hilfe wäre ich sehr dankbar!</p>
<p>mfg<br />
Neo</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1024677</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1024677</guid><dc:creator><![CDATA[--Neo--]]></dc:creator><pubDate>Mon, 27 Mar 2006 11:04:21 GMT</pubDate></item><item><title><![CDATA[Reply to Sortieren !! on Mon, 27 Mar 2006 11:21:43 GMT]]></title><description><![CDATA[<p>Wonach berechnet sich denn die &quot;Summe&quot; so einer Reihe? Eventuell kann man anhand der Berechnungsvorschrift ja bereits ablesen, welche Reihenfolge die beste sein könnte. Andernfalls mußt du per next_permutation() alle Varianten durchtesten und miteinander vergleichen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1024685</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1024685</guid><dc:creator><![CDATA[CStoll]]></dc:creator><pubDate>Mon, 27 Mar 2006 11:21:43 GMT</pubDate></item><item><title><![CDATA[Reply to Sortieren !! on Mon, 27 Mar 2006 13:42:30 GMT]]></title><description><![CDATA[<p>Also die Variablen orientieren sich an Standartwerten.<br />
Ich liste hier mal alle Möglichkeiten auf!<br />
Ziel ist es die Gesamtsumme zu minimieren!</p>
<p>Folgt auf 1 eine 2 ist die Summe 82<br />
auf 2 eine 1 = 146<br />
auf 3 eine 1 = 167<br />
auf 1 eine 3 = 78<br />
auf 3 eine 2 = 138<br />
auf 2 eine 3 = 78<br />
auf 1 eine 1 = 82<br />
auf 2 eine 2 = 82<br />
auf 3 eine 3 = 167</p>
<p>Ziel ist es ein Feld von 10 Zahlen zufälliger Reihenfolge so zu sortieren, daß die Summe minimal wird!</p>
<p>Beispiel mit einem Feld mit 3 Zahlen:</p>
<p>der Generator gibt 3 1 2 aus<br />
jetzt soll sortiert werden so das die Summe minimal wird:</p>
<p>bei 3 1 2 = 249<br />
bei 1 3 2 = 216<br />
bei 3 2 1 = 284<br />
bei 1 2 3 = 160<br />
bei 2 1 3 = 224<br />
bei 2 3 1 = 245</p>
<p>das Ergebnis wäre also 160, d.h 1 2 3 wäre die gesuchte Reihenfolge<br />
und das soll jetzt automatisch gehen <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="🙂"
    /><br />
Die Zahlen können natürlich auch mehrmals vorkommen!!</p>
<p>Danke für die Mühe <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f609.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--winking_face"
      title=";)"
      alt="😉"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1024733</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1024733</guid><dc:creator><![CDATA[--Neo--]]></dc:creator><pubDate>Mon, 27 Mar 2006 13:42:30 GMT</pubDate></item><item><title><![CDATA[Reply to Sortieren !! on Mon, 27 Mar 2006 20:37:33 GMT]]></title><description><![CDATA[<p>Hmm kann mir denn hier keiner weiterhelfen ??</p>
<p>Ich muß den Kram in 2 Tagen abgeben!<br />
Also ich zähl auf euch! <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>
<p>Gruß Neo</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1025115</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1025115</guid><dc:creator><![CDATA[--Neo--]]></dc:creator><pubDate>Mon, 27 Mar 2006 20:37:33 GMT</pubDate></item><item><title><![CDATA[Reply to Sortieren !! on Mon, 27 Mar 2006 22:35:48 GMT]]></title><description><![CDATA[<p>weil's schon so spät ist - ohne Kommentar:</p>
<pre><code class="language-cpp">#include &lt;algorithm&gt;    // copy
#include &lt;functional&gt;   // plus&lt;&gt;
#include &lt;iostream&gt;
#include &lt;iterator&gt;     // ostream_iterator
#include &lt;numeric&gt;      // inner_product
#include &lt;vector&gt;

int bestimmeWert( int i1, int i2 )
{
    const int N = 4;
    switch( i1 * N + i2 )
    {
    case 1 * N + 1: return 82;
    case 1 * N + 2: return 82;
    case 1 * N + 3: return 78;
    case 2 * N + 1: return 146;
    case 2 * N + 2: return 82;
    case 2 * N + 3: return 78;
    case 3 * N + 1: return 167;
    case 3 * N + 2: return 138;
    case 3 * N + 3: return 167;
    }
    return 0;
}

int main()
{
    using namespace std;
    vector&lt; int &gt; v(3);
    v[0] = 1; v[1] = 2; v[2] = 3; // ! muss sortiert sein
    vector&lt; int &gt; maxV;
    int wert = 0;
    bool first = true;
    do
    {
        int w = inner_product( v.begin(), v.end()-1, v.begin() + 1, 0, std::plus&lt; int &gt;(), &amp;bestimmeWert );
        if( first || w &lt; wert )
        {
            maxV = v;
            wert = w;
        }
        first = false;
    } while( next_permutation( v.begin(), v.end() ) );

    cout &lt;&lt; &quot;Reihenfolge mit minimaler Summe: &quot;;
    copy( maxV.begin(), maxV.end(), ostream_iterator&lt; int &gt;( cout, &quot; &quot; ) );
    cout &lt;&lt; &quot;= &quot; &lt;&lt; wert &lt;&lt; endl;
    return 0;
}
</code></pre>
<p>Gruß<br />
Werner</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1025183</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1025183</guid><dc:creator><![CDATA[Werner Salomon]]></dc:creator><pubDate>Mon, 27 Mar 2006 22:35:48 GMT</pubDate></item><item><title><![CDATA[Reply to Sortieren !! on Tue, 28 Mar 2006 09:25:35 GMT]]></title><description><![CDATA[<p>Danke für die Mühe, aber so ganz verstehe ich es nicht!<br />
Wäre nett, wenn du bei Gelegenheit doch noch ein paar Kommentare hinzufügen könntest!</p>
<p>mfg<br />
Neo</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1025348</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1025348</guid><dc:creator><![CDATA[--Neo--]]></dc:creator><pubDate>Tue, 28 Mar 2006 09:25:35 GMT</pubDate></item><item><title><![CDATA[Reply to Sortieren !! on Tue, 28 Mar 2006 19:33:51 GMT]]></title><description><![CDATA[<pre><code class="language-cpp">// Optimierung Landereihenfolge

#include&lt;iostream.h&gt;
#include&lt;math.h&gt;
#include&lt;ctype.h&gt;
#include&lt;conio.h&gt;
#include&lt;iomanip.h&gt;
#include&lt;stdlib.h&gt;

int main(void)
{
  const max = 10;
  int flieger [max];
  int i, Summe1;
  randomize();

  cout &lt;&lt; &quot;Es wird jetzt eine zufällige Reihenfolge von Maschinen generiert :  &quot;      
  &lt;&lt; endl;
  cout &lt;&lt; endl;
  cout &lt;&lt; &quot;1 = Light&quot; &lt;&lt; endl;
  cout &lt;&lt; &quot;2 = Medium&quot; &lt;&lt; endl;
  cout &lt;&lt; &quot;3 = Heavy&quot; &lt;&lt; endl;
  cout &lt;&lt; endl;
  cout &lt;&lt; endl;

    for (i=0; i &lt;= max; i++)
        {
        flieger [i] = random (3)+1;
        }

  cout &lt;&lt; &quot;Reihenfolge: &quot; &lt;&lt; endl;

  Summe1 = 0;
  Summe2 = 0;

    for (i=0; i &lt;= max; i++)
        {
        cout &lt;&lt; flieger [i];
        }

    for (i=0; i &lt;= max; i++)
    {

        if (flieger [i] == 1 &amp;&amp; flieger [i+1] == 2)
            {
              Summe1 = Summe1 + 82;
            }
        else if (flieger [i] == 2 &amp;&amp; flieger [i+1] == 1)
            {
              Summe1 = Summe1 + 146;
            }
        else if (flieger [i] == 3 &amp;&amp; flieger [i+1] == 1)
            {
              Summe1 = Summe1 + 167;
            }
        else if (flieger [i] == 1 &amp;&amp; flieger [i+1] == 3)
            {
              Summe1 = Summe1 + 78;
            }
        else if (flieger [i] == 3 &amp;&amp; flieger [i+1] == 2)
            {
              Summe1 = Summe1 + 138;
            }
        else if (flieger [i] == 2 &amp;&amp; flieger [i+1] == 3)
            {
              Summe1 = Summe1 + 78;
            }
        else if (flieger [i] == 1 &amp;&amp; flieger [i+1] == 1)
            {
              Summe1 = Summe1 + 82;
            }
        else if (flieger [i] == 2 &amp;&amp; flieger [i+1] == 2)
            {
              Summe1 = Summe1 + 82;
            }
        else if (flieger [i] == 3 &amp;&amp; flieger [i+1] == 3)
            {
              Summe1 = Summe1 + 167;
            }

        }
        cout &lt;&lt; endl;
        cout &lt;&lt; endl;
        cout &lt;&lt; &quot;Die Summe1 ist:  &quot; &lt;&lt; Summe1 &lt;&lt; &quot;sec&quot; &lt;&lt;endl;
        cout &lt;&lt; &quot;Die Summe1 ist:  &quot; &lt;&lt; Summe1/60 &lt;&lt; &quot;min&quot; &lt;&lt;endl;

getch();
return 0;
}
</code></pre>
<p>Soweit bin ich bis jetzt, daß er mir eine zufälliges Feld mit 10 Zahlen generiert und dann die Summe ausrechnet!<br />
Jetzt müßte man das obere Sortierverfahren noch integrieren, aber da bin ich wohl etwas überfordert... <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f61e.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--disappointed_face"
      title=":("
      alt="😞"
    /></p>
<p>Neo</p>
<p>//Code tags... <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>
]]></description><link>https://www.c-plusplus.net/forum/post/1025359</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1025359</guid><dc:creator><![CDATA[--Neo--]]></dc:creator><pubDate>Tue, 28 Mar 2006 19:33:51 GMT</pubDate></item><item><title><![CDATA[Reply to Sortieren !! on Tue, 28 Mar 2006 09:40:50 GMT]]></title><description><![CDATA[<p>Die Grundidee hatte ich schon in meinem Programm erklärt: Du mußt alle Permutationen deiner Zahlenfolge durchlaufen und ihren Wert vergleichen:</p>
<pre><code class="language-cpp">vector&lt;int&gt; reihe;                 //gefüllt mit Werten
vector&lt;int&gt; optimum;               //hierher kopieren wir die optimale Reihe
int opt_sum=numeric_limits&lt;int&gt;::max();
sort(reihe.begin(),reihe.end());   //wir beginnen mit geordneter Reihenfolge

do
{
  int sum=summe(reihe);            //in der Funktion &quot;summe&quot; darfst du dich austoben und den &quot;Wert&quot; der aktuellen Reihe bestimmen
  if(sum&lt;opt_sum)
  {
    opt_sum=sum;
    optimum=reihe;
  }
}
while(next_permutation(reihe.begin(),reihe.end());
//next_permutation() ordnet die Elemente zur nächstgrößeren Permutation um und gibt false zurück, wenn es &quot;überläuft&quot;
//(deshalb muß reihe auch vor dem Start sortiert werden)
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1025362</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1025362</guid><dc:creator><![CDATA[CStoll]]></dc:creator><pubDate>Tue, 28 Mar 2006 09:40:50 GMT</pubDate></item><item><title><![CDATA[Reply to Sortieren !! on Tue, 28 Mar 2006 12:27:21 GMT]]></title><description><![CDATA[<p>Danke Werner für die Mühe!<br />
Er zeigt aber in der 3.letzten Zeile noch nen Fehler an (bei copy...)<br />
Und wie integrier ich das am besten in mein vorhandenes Programm ??</p>
<p>Gruß</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1025471</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1025471</guid><dc:creator><![CDATA[--Neo--]]></dc:creator><pubDate>Tue, 28 Mar 2006 12:27:21 GMT</pubDate></item><item><title><![CDATA[Reply to Sortieren !! on Tue, 28 Mar 2006 18:10:29 GMT]]></title><description><![CDATA[<p>Irgendwie sieht das geradezu erschreckend nach einem Graphenproblem aus. Wenn du mit Graphen umzugehen weist, dann könntest du das ganze auch mit der <a href="http://www.boost.org/libs/graph/doc/index.html" rel="nofollow">BGL</a> implementieren.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1025779</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1025779</guid><dc:creator><![CDATA[.filmor]]></dc:creator><pubDate>Tue, 28 Mar 2006 18:10:29 GMT</pubDate></item><item><title><![CDATA[Reply to Sortieren !! on Tue, 28 Mar 2006 20:29:53 GMT]]></title><description><![CDATA[<p>--Neo-- schrieb:</p>
<blockquote>
<p>... aber so ganz verstehe ich es nicht!</p>
</blockquote>
<p>Wenn Du konkrete Fragen stellst, so kann man Dir auch konkrete Antworten geben.</p>
<p>--Neo-- schrieb:</p>
<blockquote>
<p>Er zeigt aber in der 3.letzten Zeile noch nen Fehler an (bei copy...)</p>
</blockquote>
<p>Welchen genau? Welchen Compiler und Entwicklungsumgebung benutzt Du?<br />
Du kannst das copy auch wegleassen und das Ergebnis wie in Deinem Programm ausgeben.</p>
<p>--Neo-- schrieb:</p>
<blockquote>
<p>Und wie integrier ich das am besten in mein vorhandenes Programm ??</p>
</blockquote>
<p>Die Frage müßte doch lauten, wie integriert man Deinen Code?</p>
<p>CStoll hat Dir doch bereits den Weg gewiesen</p>
<p>CStoll schrieb:</p>
<blockquote>
<pre><code class="language-cpp">vector&lt;int&gt; reihe;                 //gefüllt mit Werten
</code></pre>
</blockquote>
<p>hier musst Du die Variable 'reihe' mit dem Füllen, was in 'flieger[]' drin steht. Bzw. besser reihe in 'flieger' umbenennen und so füllen wie in Deinem Programm.</p>
<p>CStoll schrieb:</p>
<blockquote>
<pre><code class="language-cpp">int sum=summe(reihe);            //in der Funktion &quot;summe&quot; darfst du dich austoben und den &quot;Wert&quot; der aktuellen Reihe bestimmen
</code></pre>
</blockquote>
<p>und in der Funktion 'summe' schreibst Du das rein, was in der Riesen-for-Schleife Deines Programms passiert.</p>
<p>Da sind übrigens noch ein paar Fehler drin:</p>
<p>--Neo-- schrieb:</p>
<blockquote>
<pre><code class="language-cpp">for (i=0; i &lt;= max; i++) // &lt;- i &lt; max; i läuft von 0 bis 9 macht 10 Flugzeuge
        {
        flieger [i] = random (3)+1;
        }
// ...
    for (i=0; i &lt;= max; i++) // (s.o.)
        {
        cout &lt;&lt; flieger [i];
        }
    for (i=0; i &lt;= max; i++) // muss i &lt; max-1 heißen, da innerhalb der Schleife auf i+1 zugegriffen wird
    {
        if (flieger [i] == 1 &amp;&amp; flieger [i+1] == 2)
            {
              Summe1 = Summe1 + 82;
            }
</code></pre>
</blockquote>
<p>--Neo-- schrieb:</p>
<blockquote>
<p>Da ich mit Flugzeugklassen arbeite gibt es im Prinzip nur 3 verschiedene Flugzeugtypen: Heavy, Medium und Small !</p>
<p>Das Programm soll dann im Prinzip ein Feld generieren können mit einer bestimmten Zahl von Flugzeugen, so zwischen 10 und 200 vielleicht! Wieviele von jedem Typ is dabei willkürlich !<br />
Für diese Menge soll dann die optimale Reihefolge bstimmt werden, also die minimale Zeit die sie benötigen um alle zu landen!<br />
Ziel ist es also die Reihenfolge so zu verändern das die Summe der Zeit minimal wird!</p>
</blockquote>
<p>hast Du Dir mal überlegt, wieviele Möglichkeiten es für 10 und 200 Flugzeuge gibt. Bei 10 können es 4200 Möglichkeiten werden und bei 200 sind es ca 10^333, wenn ich mich nicht vertan habe, also um viele Größenordnungen zuviel als dass man alle durchprobieren könnte. Wenn Du das mit den 200 ernst meinst, kannst Du das Verfahren, welches CStoll und ich Dir vorgeschlagen haben, vergessen.<br />
Dann ist es eher ein Problem der diskreten Optimierung. Also liegt die Lösung eher im Bereich der Graphentheorie (s. filmor's Beitrag) bzw. genauer des <a href="http://en.wikipedia.org/wiki/Traveling_salesman_problem" rel="nofollow">TSP's</a>.</p>
<p>Gruß<br />
Werner</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1025920</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1025920</guid><dc:creator><![CDATA[Werner Salomon]]></dc:creator><pubDate>Tue, 28 Mar 2006 20:29:53 GMT</pubDate></item><item><title><![CDATA[Reply to Sortieren !! on Tue, 28 Mar 2006 20:56:42 GMT]]></title><description><![CDATA[<p>Hmm davon hab ich leider noch weniger ahnung als von vectoren <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/1025940</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1025940</guid><dc:creator><![CDATA[--Neo--]]></dc:creator><pubDate>Tue, 28 Mar 2006 20:56:42 GMT</pubDate></item><item><title><![CDATA[Reply to Sortieren !! on Tue, 28 Mar 2006 21:16:50 GMT]]></title><description><![CDATA[<p>--Neo-- schrieb:</p>
<blockquote>
<p>Hmm davon hab ich leider noch weniger ahnung als von vectoren <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>
</blockquote>
<p>.. musst Du ja nicht. Die Aussage war lediglich: wenn 200 Flugzeuge, dann geht's so nicht.</p>
<p>Kommst Du ansonsten mit dem zurecht, was hier gepostet wurde?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1025951</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1025951</guid><dc:creator><![CDATA[Werner Salomon]]></dc:creator><pubDate>Tue, 28 Mar 2006 21:16:50 GMT</pubDate></item><item><title><![CDATA[Reply to Sortieren !! on Tue, 28 Mar 2006 22:18:31 GMT]]></title><description><![CDATA[<p>Hi sorry aber ich bin ein ziemlicher Newbie in Sachen C++!<br />
Ich werde mich morgen mal dransetzen und versuchen was damit auf die Beine zu stellen!<br />
Mehr als 100 Flugzeuge sollen damit auch nicht optimiert werden!</p>
<p>Aber danke für die Mühe erstmal!<br />
Bei Fragen meld ich mich nochmal!</p>
<p>gruß<br />
Neo</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1025990</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1025990</guid><dc:creator><![CDATA[--Neo--]]></dc:creator><pubDate>Tue, 28 Mar 2006 22:18:31 GMT</pubDate></item><item><title><![CDATA[Reply to Sortieren !! on Mon, 03 Apr 2006 14:31:39 GMT]]></title><description><![CDATA[<p>Hi,<br />
also ich wollte jetzt mal das Programm zusammenschreiben, aber ich weiß noch net so genau wie ich das arry Flieger in die reihe übergebe!<br />
der zeigt mir immer ne fehlermeldung an!</p>
<p>Kann mir da einer von euch pros helfen ??</p>
<p>Gruß<br />
Neo</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1029717</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1029717</guid><dc:creator><![CDATA[--Neo--]]></dc:creator><pubDate>Mon, 03 Apr 2006 14:31:39 GMT</pubDate></item><item><title><![CDATA[Reply to Sortieren !! on Mon, 03 Apr 2006 14:33:15 GMT]]></title><description><![CDATA[<p>Kurze Antwort: Nein.</p>
<p>Lange Antwort: Wenn Du uns nen Stück Code und den Wortlaut der Fehlermeldung nicht gibst brauchen wir es eigentlich garnicht versuchen (wie oft eigentlich noch?)</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1029719</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1029719</guid><dc:creator><![CDATA[LordJaxom]]></dc:creator><pubDate>Mon, 03 Apr 2006 14:33:15 GMT</pubDate></item><item><title><![CDATA[Reply to Sortieren !! on Mon, 03 Apr 2006 14:59:11 GMT]]></title><description><![CDATA[<p>Das hab ich hier stehen:</p>
<p>// Optimierung Landereihenfolge</p>
<p>#include&lt;iostream.h&gt;<br />
#include&lt;math.h&gt;<br />
#include&lt;ctype.h&gt;<br />
#include&lt;conio.h&gt;<br />
#include&lt;iomanip.h&gt;<br />
#include&lt;stdlib.h&gt;<br />
#include &lt;vector&gt;<br />
#include &lt;algorithm&gt;<br />
#include &lt;functional&gt;<br />
#include &lt;numeric&gt;<br />
#include &lt;iterator&gt;<br />
#include &lt;iostream&gt;</p>
<p>int main(void)<br />
{<br />
const max = 10;<br />
int flieger [max];<br />
int i, Summe1;<br />
randomize();<br />
vector&lt;int&gt; reihe; //gefüllt mit Werten<br />
vector&lt;int&gt; optimum; //hierher kopieren wir die optimale Reihe</p>
<p>cout &lt;&lt; &quot;Es wird jetzt eine zufällige Reihenfolge von Maschinen generiert : &quot;<br />
&lt;&lt; endl;<br />
cout &lt;&lt; endl;<br />
cout &lt;&lt; &quot;1 = Light&quot; &lt;&lt; endl;<br />
cout &lt;&lt; &quot;2 = Medium&quot; &lt;&lt; endl;<br />
cout &lt;&lt; &quot;3 = Heavy&quot; &lt;&lt; endl;<br />
cout &lt;&lt; endl;<br />
cout &lt;&lt; endl;</p>
<p>for (i=0; i &lt; max; i++)<br />
{<br />
flieger [i] = random (3)+1;<br />
}</p>
<p>cout &lt;&lt; &quot;Reihenfolge: &quot; &lt;&lt; endl;</p>
<p>for (i=0; i &lt; max; i++)<br />
{<br />
cout &lt;&lt; flieger [i];<br />
}</p>
<p>Summe1 = 0;</p>
<p>for (i=0; i &lt; max-1; i++)<br />
{</p>
<p>if (flieger [i] == 1 &amp;&amp; flieger [i+1] == 2)<br />
{<br />
Summe1 = Summe1 + 82;<br />
}<br />
else if (flieger [i] == 2 &amp;&amp; flieger [i+1] == 1)<br />
{<br />
Summe1 = Summe1 + 146;<br />
}<br />
else if (flieger [i] == 3 &amp;&amp; flieger [i+1] == 1)<br />
{<br />
Summe1 = Summe1 + 167;<br />
}<br />
else if (flieger [i] == 1 &amp;&amp; flieger [i+1] == 3)<br />
{<br />
Summe1 = Summe1 + 78;<br />
}<br />
else if (flieger [i] == 3 &amp;&amp; flieger [i+1] == 2)<br />
{<br />
Summe1 = Summe1 + 138;<br />
}<br />
else if (flieger [i] == 2 &amp;&amp; flieger [i+1] == 3)<br />
{<br />
Summe1 = Summe1 + 78;<br />
}<br />
else if (flieger [i] == 1 &amp;&amp; flieger [i+1] == 1)<br />
{<br />
Summe1 = Summe1 + 82;<br />
}<br />
else if (flieger [i] == 2 &amp;&amp; flieger [i+1] == 2)<br />
{<br />
Summe1 = Summe1 + 82;<br />
}<br />
else if (flieger [i] == 3 &amp;&amp; flieger [i+1] == 3)<br />
{<br />
Summe1 = Summe1 + 167;<br />
}</p>
<p>}<br />
cout &lt;&lt; endl;<br />
cout &lt;&lt; endl;<br />
cout &lt;&lt; &quot;Die Summe1 ist: &quot; &lt;&lt; Summe1 &lt;&lt; &quot;sec&quot; &lt;&lt;endl;<br />
cout &lt;&lt; &quot;Die Summe1 ist: &quot; &lt;&lt; Summe1/60 &lt;&lt; &quot;min&quot; &lt;&lt;endl;</p>
<p><strong>Hier muß doch auch noch das Feld flieger [max] in &quot;reihe&quot; kopiert werden oder ? Und wie geht das ?</strong></p>
<p>int opt_sum=numeric_limits&lt;int&gt;::max();<br />
sort(reihe.begin(),reihe.end()); //wir beginnen mit geordneter Reihenfolge</p>
<p>do<br />
{<br />
int sum=Summe1; //in der Funktion &quot;summe&quot; darfst du dich austoben und den &quot;Wert&quot; der aktuellen Reihe bestimmen<br />
if(sum&lt;opt_sum)<br />
{<br />
opt_sum=sum;<br />
optimum=reihe;<br />
}<br />
}<br />
while(next_permutation(reihe.begin(),reihe.end());<br />
//next_permutation() ordnet die Elemente zur nächstgrößeren Permutation um und gibt false zurück, wenn es &quot;überläuft&quot;<br />
//(deshalb muß reihe auch vor dem Start sortiert werden)</p>
<p>getch();<br />
return 0;<br />
}</p>
<p>Folgende Fehlermeldung:<br />
[C++Fehler] Sort_Funkt.cpp(115): Do-while statement missing ).</p>
<p>Und die Ausgabe fehlt halt noch! Das Problem is halt, daß ich etwas unter Zeitdruck stehe mit noch einer anderen Hausarbeit!<br />
Ich entschuldige deshalb mein Verhalten in Sachen Angaben, aber mir fehlt halt einfach das Hintergrundwissen für C++!</p>
<p>Gruß Neo</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1029738</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1029738</guid><dc:creator><![CDATA[--Neo--]]></dc:creator><pubDate>Mon, 03 Apr 2006 14:59:11 GMT</pubDate></item><item><title><![CDATA[Reply to Sortieren !! on Mon, 03 Apr 2006 15:08:43 GMT]]></title><description><![CDATA[<p>Naja &quot;Do-While-Statement missing )&quot; sollte man auch mit geringen Englischkenntnissen schaffen -&gt; Im do-while-Statement fehlt eine schliessende Klammer (sieht man wenn man genau hinschaut auch).</p>
<p>Das Feld flieger in das Feld reihe kannst Du mit copy überführen:</p>
<pre><code class="language-cpp">copy(flieger, flieger + max, back_inserter(reihe));
</code></pre>
<p>Dann weiss ich nicht was opt_sum ist, glaube aber nicht dass Du darin den größten möglichen Integer-Wert den Dein System verarbeiten kann haben möchtest, oder? Denn das liefert numeric_limits&lt;int&gt;::max()</p>
<p>EDIT:<br />
Und bitte, bitte stell Deinen Code in [ cpp] .... [ /cpp] Tags (ohne die Leerstellen nach der öffnenden Klammer)</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1029747</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1029747</guid><dc:creator><![CDATA[LordJaxom]]></dc:creator><pubDate>Mon, 03 Apr 2006 15:08:43 GMT</pubDate></item><item><title><![CDATA[Reply to Sortieren !! on Thu, 06 Apr 2006 09:44:12 GMT]]></title><description><![CDATA[<p>// Optimierung Landereihenfolge</p>
<p>#include&lt;iostream.h&gt;<br />
#include&lt;math.h&gt;<br />
#include&lt;ctype.h&gt;<br />
#include&lt;conio.h&gt;<br />
#include&lt;iomanip.h&gt;<br />
#include &lt;iostream&gt;<br />
#include &lt;algorithm&gt;<br />
#include &lt;vector&gt;<br />
#include &lt;numeric&gt;<br />
#include &lt;iterator&gt;</p>
<p>int GSumme (int i);<br />
{<br />
for (int i=0; i &lt;= 9; i++)<br />
{<br />
if (reihe [i] == 1 &amp;&amp; reihe [i+1] == 2)<br />
{<br />
Summe = Summe + 82;<br />
}<br />
else if (reihe [i] == 2 &amp;&amp; reihe [i+1] == 1)<br />
{<br />
Summe = Summe + 146;<br />
}<br />
else if (reihe [i] == 3 &amp;&amp; reihe [i+1] == 1)<br />
{<br />
Summe = Summe + 167;<br />
}<br />
else if (reihe [i] == 1 &amp;&amp; reihe [i+1] == 3)<br />
{<br />
Summe = Summe + 78;<br />
}<br />
else if (reihe [i] == 3 &amp;&amp; reihe [i+1] == 2)<br />
{<br />
Summe = Summe + 138;<br />
}<br />
else if (reihe [i] == 2 &amp;&amp; reihe [i+1] == 3)<br />
{<br />
Summe = Summe + 78;<br />
}<br />
else if (reihe [i] == 1 &amp;&amp; reihe [i+1] == 1)<br />
{<br />
Summe = Summe + 82;<br />
}<br />
else if (reihe [i] == 2 &amp;&amp; reihe [i+1] == 2)<br />
{<br />
Summe = Summe + 82;<br />
}<br />
else if (reihe [i] == 3 &amp;&amp; reihe [i+1] == 3)<br />
{<br />
Summe = Summe + 167;<br />
}<br />
}<br />
return 0;<br />
}</p>
<p>int main()<br />
{<br />
using namespace std;<br />
vector&lt;int&gt; reihe(10);<br />
vector&lt;int&gt; maxV;</p>
<p>for (int i=0; i &lt;= 9; i++)<br />
{<br />
reihe [i] =random (3)+1;<br />
}</p>
<p>cout &lt;&lt;reihe[0]&lt;&lt;&quot; &quot;&lt;&lt;reihe [1]&lt;&lt;&quot; &quot;&lt;&lt;reihe[2]&lt;&lt;&quot; &quot;&lt;&lt; reihe[3]&lt;&lt;&quot; &quot;&lt;&lt;reihe[4]&lt;&lt;&quot; &quot;&lt;&lt;reihe[5]&lt;&lt;&quot; &quot;&lt;&lt;reihe[6]&lt;&lt;&quot; &quot;&lt;&lt;reihe[7]&lt;&lt;&quot; &quot;&lt;&lt;reihe[8]&lt;&lt;&quot; &quot;&lt;&lt;reihe[9]&lt;&lt;&quot; &quot;&lt;&lt;endl;</p>
<p>int wert = 0;<br />
bool first = true;<br />
do<br />
{<br />
int w = inner_product( reihe.begin(), reihe.end()-1, reihe.begin() + 1, 0, std::plus&lt; int &gt;(),&amp;GSumme );<br />
if( first || w &lt; wert )<br />
{<br />
maxV = reihe;<br />
wert = w;<br />
}<br />
first = false;<br />
}</p>
<p>while( next_permutation( reihe.begin(), reihe.end() ) );</p>
<p>cout &lt;&lt; &quot;Reihenfolge mit minimaler Summe: &quot;;<br />
std::copy( maxV.begin(), maxV.end(), std::ostream_iterator&lt; int &gt;(reihe) );<br />
cout &lt;&lt; &quot;= &quot; &lt;&lt; wert &lt;&lt; endl;</p>
<p>getch();<br />
return 0;<br />
}</p>
<p>Soweit bin ich jetzt gekommen, allerdings gibt es wohl noch ein Problem mit der Funktion!</p>
<p>Fehlermeldung:<br />
[C++Fehler] Variante_1.cpp(15): Declaration terminated incorrectly.</p>
<p>Wäre schön, wenn nochmal einer von euch drübergucken könnte!</p>
<p>Danke<br />
Neo</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1029945</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1029945</guid><dc:creator><![CDATA[--Neo--]]></dc:creator><pubDate>Thu, 06 Apr 2006 09:44:12 GMT</pubDate></item><item><title><![CDATA[Reply to Sortieren !! on Mon, 08 May 2006 13:50:15 GMT]]></title><description><![CDATA[<p>Also soweit bin ich jetzt!<br />
Hab aber noch einen Fehler mit der Ausgabe bzw mit den Klammern und finde den Fehler einfach nicht. Wäre schön, wenn mir da einer helfen könnte!</p>
<p>// Optimierung Landereihenfolge</p>
<pre><code class="language-cpp">#include&lt;iostream.h&gt;
#include&lt;math.h&gt;
#include&lt;ctype.h&gt;
#include&lt;conio.h&gt;
#include&lt;iomanip.h&gt;
#include&lt;stdlib.h&gt;

int main(void)
{
  const max = 10;
  int flieger [max];
  int Bestfeld [max];
  int n, m, k;
  int j1, j2, j3, j4, j5, j6, j7, j8, j9, j10;
  int i, Summe, Bestzeit;

  cout &lt;&lt; &quot;Es wird jetzt eine Reihenfolge von Maschinen generiert und berechnet:  &quot; &lt;&lt; endl;
  cout &lt;&lt; endl;
  cout &lt;&lt; &quot;1 = Light&quot; &lt;&lt; endl;
  cout &lt;&lt; &quot;2 = Medium&quot; &lt;&lt; endl;
  cout &lt;&lt; &quot;3 = Heavy&quot; &lt;&lt; endl;
  cout &lt;&lt; endl;
  cout &lt;&lt; endl;
  n=0;
  m=0;
  k=0;

    for (j1=1; j1 &lt;=3; j1++)
        {
        flieger [1] = j1;
            if (j1=1) n++;
            if (j1=2) m++;
            if (j1=3) k++;
            for (j2=1; j2 &lt;=3; j2++)
            {
            flieger [2] = j2;
                if (j2=1) n++;
                if (j2=2) m++;
                if (j3=3) k++;
                for (j3=1; j3 &lt;=3; j3++)
                {
                flieger [3] = j3;
                    if (j3=1) n++;
                    if (j3=2) m++;
                    if (j3=3) k++;
                    for (j4=1; j4 &lt;=3; j4++)
                    {
                    flieger [4] = j4;
                        if (j4=1) n++;
                        if (j4=2) m++;
                        if (j4=3) k++;
                        for (j5=1; j5 &lt;=3; j5++)
                        {
                        flieger [5] = j5;
                            if (j5=1) n++;
                            if (j5=2) m++;
                            if (j5=3) k++;
                            for (j6=1; j6 &lt;=3; j6++)
                            {
                            flieger [6] = j6;
                                if (j6=1) n++;
                                if (j6=2) m++;
                                if (j6=3) k++;
                                for (j7=1; j7 &lt;=3; j7++)
                                {
                                flieger [7] = j7;
                                    if (j7=1) n++;
                                    if (j7=2) m++;
                                    if (j7=3) k++;
                                    for (j8=1; j8 &lt;=3; j8++)
                                    {
                                    flieger [8] = j8;
                                        if (j8=1) n++;
                                        if (j8=2) m++;
                                        if (j8=3) k++;
                                        for (j9=1; j9 &lt;=3; j9++)
                                        {
                                        flieger [9] = j9;
                                            if (j9=1) n++;
                                            if (j9=2) m++;
                                            if (j9=3) k++;
                                            for (j10=1; j10 &lt;=3; j10++)
                                            {
                                            flieger [10] = j10;
                                                 if (j10=1) n++;
                                                 if (j10=2) m++;
                                                 if (j10=3) k++;
                                            if (((n==3) &amp;&amp; (m==4)) &amp;&amp; (k==3))
                                            {                                            {
                                            cout &lt;&lt; &quot;Test&quot; &lt;&lt; endl;
                                            Summe = 0;

                                            for (i=0; i &lt;=9; i++)
                                                {
                                                if (flieger [i] == 1 &amp;&amp; flieger [i+1] == 2)
                                                {
                                                    Summe = Summe + 82;
                                                }
                                                else if (flieger [i] == 2 &amp;&amp; flieger [i+1] == 1)
                                                {
                                                     Summe = Summe + 146;
                                                }
                                                else if (flieger [i] == 3 &amp;&amp; flieger [i+1] == 1)
                                                {
                                                      Summe = Summe + 167;
                                                }
                                                 else if (flieger [i] == 1 &amp;&amp; flieger [i+1] == 3)
                                                  {
                                                      Summe = Summe + 78;
                                                  }
                                                  else if (flieger [i] == 3 &amp;&amp; flieger [i+1] == 2)
                                                 {
                                                    Summe = Summe + 138;
                                                  }
                                                 else if (flieger [i] == 2 &amp;&amp; flieger [i+1] == 3)
                                               {
                                                       Summe = Summe + 78;
                                                }
                                                  else if (flieger [i] == 1 &amp;&amp; flieger [i+1] == 1)
                                                {
                                                        Summe = Summe + 82;
                                                   }
                                                    else if (flieger [i] == 2 &amp;&amp; flieger [i+1] == 2)
                                                {
                                                       Summe = Summe + 82;
                                                 }
                                                 else if (flieger [i] == 3 &amp;&amp; flieger [i+1] == 3)
                                                {
                                                         Summe = Summe + 167;
                                                 }
                                                }
                                                if (Summe &lt; Bestzeit)
                                                {
                                                Bestzeit=Summe;
                                                Bestfeld [max] =flieger [max];
                                                cout &lt;&lt; Bestzeit &lt;&lt; endl;
                                                }

                   }
                                         }
                                     }
                                }
                            }
                         }
                    }
                 }
               }
             }

        }
  cout &lt;&lt; &quot;Reihenfolge: &quot; &lt;&lt; endl;
  cout &lt;&lt; n &lt;&lt; endl;
  cout &lt;&lt; m &lt;&lt; endl;
  cout &lt;&lt; k &lt;&lt; endl;

    for (i=1; i &lt;max+1; i++)
      {
       cout &lt;&lt; Bestfeld [i];
        }

    cout &lt;&lt; endl;
    cout &lt;&lt; endl;
   cout &lt;&lt; &quot;Die Summe ist:  &quot; &lt;&lt; Bestzeit &lt;&lt; &quot;sec&quot; &lt;&lt;endl;
   cout &lt;&lt; n;
    cout &lt;&lt; &quot;Die Summe ist:  &quot; &lt;&lt; Bestzeit/60 &lt;&lt; &quot;min&quot; &lt;&lt;endl;

getch();
}
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1053250</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1053250</guid><dc:creator><![CDATA[--Neo--]]></dc:creator><pubDate>Mon, 08 May 2006 13:50:15 GMT</pubDate></item><item><title><![CDATA[Reply to Sortieren !! on Mon, 08 May 2006 12:36:57 GMT]]></title><description><![CDATA[<p>Du hast schon 21 Beiträge und weißt immer noch nicht, dass man Codetags verwenden sollte? <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="🙄"
    /><br />
<img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/27a1.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--right_arrow"
      title=":arrow_right:"
      alt="➡"
    /> <a href="http://www.c-plusplus.net/forum/viewtopic-var-t-is-39411.html" rel="nofollow">So funktioniert das Syntaxcoloring</a></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1053335</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1053335</guid><dc:creator><![CDATA[michba]]></dc:creator><pubDate>Mon, 08 May 2006 12:36:57 GMT</pubDate></item></channel></rss>