<?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[vector sortieren. logikfehler ?]]></title><description><![CDATA[<p>Hallo,<br />
ich wollte erreichen das die 10 kleinsten Werte in dem vector gespeichert werden.<br />
Aber ich befürchte ich habe einen logikfehler <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>Als erstes speichere ich 10 werte in einen vector.<br />
dann schaue ich welches der größte wert in dem vector ist</p>
<pre><code class="language-cpp">if(lengthStart&gt;max)
</code></pre>
<p>und lasse mir die position speichern.<br />
Danach lösche ich diesen wert mit</p>
<pre><code class="language-cpp">tenwps.erase(tenwps.begin()+stsave);
</code></pre>
<p>Im nächsten durchlauf habe nur noch 9 elemente im vector also wird durch</p>
<pre><code class="language-cpp">if(tenwps.size() &lt;10)
            {
                tenwps.push_back(svec[index]);
            }
</code></pre>
<p>ein element wieder hinzugefügt.</p>
<p>Allerdings dürfte doch nie bei</p>
<pre><code class="language-cpp">output&lt;&lt;max&lt;&lt;endl;
</code></pre>
<p>der selbe wert hintereinander stehen. also denke ich das ich was falsch gemacht habe <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=":/"
      alt="😕"
    /><br />
nur was ?</p>
<pre><code class="language-cpp">while (startX!=endX &amp;&amp; startY!=endY &amp;&amp; startZ!=endZ)
    {
        tenwps.clear();

        for (vector&lt;data&gt;::size_type index = 0; index!=svec.size(); ++index)// data ist ein struct mit double werten
        {

            double max = 0;

            if(tenwps.empty())
            {
                for(int i = 0; i != 10; ++i)
                {
                    tenwps.push_back(svec[index]);
                }
            }
            if(tenwps.size() &lt;10)
            {
                tenwps.push_back(svec[index]);
            }

            if(tenwps.size() == 10)
            {
                for(vector&lt;data&gt;::size_type st = 0; st!=tenwps.size(); ++st)
                {
                    ///////// Distance from Start
                    lengthBeginX = abs(startX-tenwps[st].X);
                    lengthBeginY = abs(startY-tenwps[st].Y);
                    lengthBeginZ = abs(startZ-tenwps[st].Z);

                    lengthStart= sqrt((pow(lengthBeginX,2))+(pow(lengthBeginY,2))+(pow(lengthBeginZ,2)));

                    if(lengthStart&gt;max)
                    {
                        max=lengthStart;
                        stsave=st;
                    }

                }
                output&lt;&lt;max&lt;&lt;endl;
                //////////ERASE LONGEST Wp/////////
                tenwps.erase(tenwps.begin()+stsave);
            }
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/topic/292646/vector-sortieren-logikfehler</link><generator>RSS for Node</generator><lastBuildDate>Sun, 16 Aug 2026 18:09:16 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/292646.rss" rel="self" type="application/rss+xml"/><pubDate>Wed, 14 Sep 2011 15:43:57 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to vector sortieren. logikfehler ? on Wed, 14 Sep 2011 15:53:40 GMT]]></title><description><![CDATA[<p>Hallo,<br />
ich wollte erreichen das die 10 kleinsten Werte in dem vector gespeichert werden.<br />
Aber ich befürchte ich habe einen logikfehler <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>Als erstes speichere ich 10 werte in einen vector.<br />
dann schaue ich welches der größte wert in dem vector ist</p>
<pre><code class="language-cpp">if(lengthStart&gt;max)
</code></pre>
<p>und lasse mir die position speichern.<br />
Danach lösche ich diesen wert mit</p>
<pre><code class="language-cpp">tenwps.erase(tenwps.begin()+stsave);
</code></pre>
<p>Im nächsten durchlauf habe nur noch 9 elemente im vector also wird durch</p>
<pre><code class="language-cpp">if(tenwps.size() &lt;10)
            {
                tenwps.push_back(svec[index]);
            }
</code></pre>
<p>ein element wieder hinzugefügt.</p>
<p>Allerdings dürfte doch nie bei</p>
<pre><code class="language-cpp">output&lt;&lt;max&lt;&lt;endl;
</code></pre>
<p>der selbe wert hintereinander stehen. also denke ich das ich was falsch gemacht habe <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=":/"
      alt="😕"
    /><br />
nur was ?</p>
<pre><code class="language-cpp">while (startX!=endX &amp;&amp; startY!=endY &amp;&amp; startZ!=endZ)
    {
        tenwps.clear();

        for (vector&lt;data&gt;::size_type index = 0; index!=svec.size(); ++index)// data ist ein struct mit double werten
        {

            double max = 0;

            if(tenwps.empty())
            {
                for(int i = 0; i != 10; ++i)
                {
                    tenwps.push_back(svec[index]);
                }
            }
            if(tenwps.size() &lt;10)
            {
                tenwps.push_back(svec[index]);
            }

            if(tenwps.size() == 10)
            {
                for(vector&lt;data&gt;::size_type st = 0; st!=tenwps.size(); ++st)
                {
                    ///////// Distance from Start
                    lengthBeginX = abs(startX-tenwps[st].X);
                    lengthBeginY = abs(startY-tenwps[st].Y);
                    lengthBeginZ = abs(startZ-tenwps[st].Z);

                    lengthStart= sqrt((pow(lengthBeginX,2))+(pow(lengthBeginY,2))+(pow(lengthBeginZ,2)));

                    if(lengthStart&gt;max)
                    {
                        max=lengthStart;
                        stsave=st;
                    }

                }
                output&lt;&lt;max&lt;&lt;endl;
                //////////ERASE LONGEST Wp/////////
                tenwps.erase(tenwps.begin()+stsave);
            }
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/2119355</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2119355</guid><dc:creator><![CDATA[kantaki]]></dc:creator><pubDate>Wed, 14 Sep 2011 15:53:40 GMT</pubDate></item><item><title><![CDATA[Reply to vector sortieren. logikfehler ? on Wed, 14 Sep 2011 15:53:18 GMT]]></title><description><![CDATA[<p>Also so ganz habe ich dein Verfahren noch nicht durchschaut - wozu packst du denn am Anfang zehn Kopien des ersten Eintrags in deinen Hilfsvector?</p>
<p>btw, wozu sowas umständlich von Hand programmieren, das gibt es bstimmt schon fertig in der STL. Nach der ersten Beschreibung würde ich zu partial_sort() tendieren.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2119358</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2119358</guid><dc:creator><![CDATA[CStoll]]></dc:creator><pubDate>Wed, 14 Sep 2011 15:53:18 GMT</pubDate></item><item><title><![CDATA[Reply to vector sortieren. logikfehler ? on Wed, 14 Sep 2011 16:12:13 GMT]]></title><description><![CDATA[<p>CStoll schrieb:</p>
<blockquote>
<p>Also so ganz habe ich dein Verfahren noch nicht durchschaut - wozu packst du denn am Anfang zehn Kopien des ersten Eintrags in deinen Hilfsvector?</p>
<p>btw, wozu sowas umständlich von Hand programmieren, das gibt es bstimmt schon fertig in der STL. Nach der ersten Beschreibung würde ich zu partial_sort() tendieren.</p>
</blockquote>
<p>öhm, damit ich von diesen 10 Wegpunkten den größten raussuchen kann, um ihn dann zu löschen,dann kommt wieder ein wp hinzu und es wird wiedergeschaut welcher der größte ist und wird gelöscht. usw<br />
wahrscheinlich aber habe ich einen ziemlich schwerwiegenden denkfehler.</p>
<p>ähm partial_sort() werde ich mal googlen, danke</p>
<p>Edit :</p>
<p>ähm mit den stl sort functions kann ich nicht viel anfangen, denke ich jedenfalls.<br />
ich denke das man damit nur integer nach ihrer größe sortieren kann. allerdings muss ich diese integer werte erst in eine formel einsetzen um zu sehen, ob sie wirklich größer/kleiner sind. der ursprungswert ist dabei völlig unrelevant.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2119362</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2119362</guid><dc:creator><![CDATA[kantaki]]></dc:creator><pubDate>Wed, 14 Sep 2011 16:12:13 GMT</pubDate></item><item><title><![CDATA[Reply to vector sortieren. logikfehler ? on Wed, 14 Sep 2011 16:40:00 GMT]]></title><description><![CDATA[<blockquote>
<p>ähm mit den stl sort functions kann ich nicht viel anfangen, denke ich jedenfalls.<br />
ich denke das man damit nur integer nach ihrer größe sortieren kann. allerdings muss ich diese integer werte erst in eine formel einsetzen um zu sehen, ob sie wirklich größer/kleiner sind. der ursprungswert ist dabei völlig unrelevant.</p>
</blockquote>
<p>Ähm nein, du kannst eine beliebige Funktion als Sortierkriterium verwenden, etwa:</p>
<pre><code class="language-cpp">data startPoint{startX,startY,startZ};
vector&lt;data&gt; copy(svec);
partial_sort(copy.begin(),copy.begin()+10,copy.end(),
                     [&amp;](const data&amp; p1,const data&amp; p2)
                     {
                       return p1.dist_p2(startPoint)&lt;p2.dist_p2(startPoint);
                     });
</code></pre>
<p>mit dist_p2:</p>
<pre><code class="language-cpp">int data::dist_p2(const data&amp; rhs)
{
  int xd = abs(X-rhs.X);
  int yd = abs(Y-rhs.Y);
  int zd = abs(Z-rhs.Z);
  return xd*xd+yd*yd+zd*zd;
}
</code></pre>
<p>Zum Vergleichen ist das Wurzelziehen nicht notwendig. Vermeide außerdem pow, wenn du nur quadrieren möchtest. Allein damit kannst du die Geschwindigkeit auf ein Vielfaches steigern.</p>
<p>Edit: dein Code ist übrigens (beinahe) korrekt, nur sehr langsam.<br />
Du betrachtest den ersten Punkt in svec zehnmal, das erscheint mir nicht viel Sinn zu machen. Außerdem behandelst du nicht den Fall, dass es zehn Punkte gibt, die auf dem Startpunkt liegen (bzw. wenn der erste Punkt auf dem Startpunkt liegt). Deine Schleife findet dann nichts, erase wird aber trotzdem aufgerufen.</p>
<p>Edit2: statt meiner Variante solltest du gleich partial_sort_copy nutzen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2119379</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2119379</guid><dc:creator><![CDATA[Athar]]></dc:creator><pubDate>Wed, 14 Sep 2011 16:40:00 GMT</pubDate></item><item><title><![CDATA[Reply to vector sortieren. logikfehler ? on Wed, 14 Sep 2011 17:57:49 GMT]]></title><description><![CDATA[<blockquote>
<p>Zum Vergleichen ist das Wurzelziehen nicht notwendig. Vermeide außerdem pow, wenn du nur quadrieren möchtest. Allein damit kannst du die Geschwindigkeit auf ein Vielfaches steigern.</p>
</blockquote>
<p>stimmt, daran habe ich noch garnicht gedacht :x</p>
<p>okay vorab möchte ich noch erwähnen das ich noch nie struct vorher benutzt habe und das ich erst ganz grob mit klassen beschäftigt habe.</p>
<pre><code class="language-cpp">int data::dist_p2(const data&amp; rhs)
{
  int xd = abs(X-rhs.X);
  int yd = abs(Y-rhs.Y);
  int zd = abs(Z-rhs.Z);
  return xd*xd+yd*yd+zd*zd;
}
</code></pre>
<p>okay ich denke mal das nennt man struct member function? naja is ja auch egal.</p>
<p>du definierst</p>
<pre><code class="language-cpp">data startPoint{startX,startY,startZ};
</code></pre>
<p>ich gehe mal davon aus das es durch eine reihenfolge initalisiert wird.<br />
so das</p>
<pre><code class="language-cpp">X=startX
Y=startY
Z=startZ
</code></pre>
<p>das kann ich alles nachvollziehen ohne mich genauer damit auszukennen, aber</p>
<pre><code class="language-cpp">partial_sort(copy.begin(),copy.begin()+10,copy.end(),
                     [&amp;](const data&amp; p1,const data&amp; p2)
                     {
                       return p1.dist_p2(startPoint)&lt;p2.dist_p2(startPoint);
                     });
</code></pre>
<p>ist ein wenig schwerer zu verstehen.</p>
<pre><code class="language-cpp">copy.begin(),copy.begin()+10
</code></pre>
<p>sind das die elemente die ausgetauscht werden müssen?<br />
also dh wenn ich den vector copy ausgebe sind die ersten 10 werte die kleinsten, die werte die danach kommen sind ungeordnet.stimmt doch so oder ?</p>
<pre><code class="language-cpp">[&amp;](const data&amp; p1,const data&amp; p2)
</code></pre>
<p>hier setzt der algorithmus die verschiednen xyz werte ein, die im vector gespeichert sind.</p>
<pre><code class="language-cpp">return p1.dist_p2(startPoint)&lt;p2.dist_p2(startPoint);
</code></pre>
<p>und das ist die bedingung mit der die ersten 10 elemente ausgetauscht werden.</p>
<p>hmm ich kann nur raten was passiert, aber ich denke ich kann das einfach übernehmen.</p>
<p><strong>danke für die sehr ausführliche antwort <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="🙂"
    /></strong></p>
]]></description><link>https://www.c-plusplus.net/forum/post/2119421</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2119421</guid><dc:creator><![CDATA[kantaki]]></dc:creator><pubDate>Wed, 14 Sep 2011 17:57:49 GMT</pubDate></item><item><title><![CDATA[Reply to vector sortieren. logikfehler ? on Wed, 14 Sep 2011 18:07:57 GMT]]></title><description><![CDATA[<p>kantaki schrieb:</p>
<blockquote>
<pre><code class="language-cpp">int data::dist_p2(const data&amp; rhs)
{
  int xd = abs(X-rhs.X);
  int yd = abs(Y-rhs.Y);
  int zd = abs(Z-rhs.Z);
  return xd*xd+yd*yd+zd*zd;
}
</code></pre>
<p>okay ich denke mal das nennt man struct member function? naja is ja auch egal.</p>
</blockquote>
<p>der Unterschied zwischen struct und class ist wesentlich kleiner als viele Anfänger vermuten würden. Genau genommen besteht der Unterschied nur darin, wie die Member ohne explizite Angaben zugreifbar sind.</p>
<blockquote>
<pre><code class="language-cpp">partial_sort(copy.begin(),copy.begin()+10,copy.end(),
                     [&amp;](const data&amp; p1,const data&amp; p2)
                     {
                       return p1.dist_p2(startPoint)&lt;p2.dist_p2(startPoint);
                     });
</code></pre>
<p>ist ein wenig schwerer zu verstehen.</p>
<pre><code class="language-cpp">copy.begin(),copy.begin()+10
</code></pre>
<p>sind das die elemente die ausgetauscht werden müssen?<br />
also dh wenn ich den vector copy ausgebe sind die ersten 10 werte die kleinsten, die werte die danach kommen sind ungeordnet.stimmt doch so oder ?</p>
</blockquote>
<p>Soweit stimmt das (außerdem übergibst du noch copy.end() als Ende der zu sortierenden Werte). Der letzte Parameter gibt dann an, nach welchem Kriterium entschieden wird, welcher Wert &quot;kleiner&quot; ist.<br />
In diesem Beispiel ist die Vergleichsfunktion eine anonyme Funktion, die dort direkt zusammengebaut wird (mit C++03 müsstest du dir einen eigenen Funktor dafür zusammenbauen, der das selbe macht).</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2119426</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2119426</guid><dc:creator><![CDATA[CStoll]]></dc:creator><pubDate>Wed, 14 Sep 2011 18:07:57 GMT</pubDate></item><item><title><![CDATA[Reply to vector sortieren. logikfehler ? on Wed, 14 Sep 2011 18:14:15 GMT]]></title><description><![CDATA[<p>Naja, sieh dir einfach die Dokumentation zu partial_sort an:<br />
<a href="http://www.cplusplus.com/reference/algorithm/partial_sort/" rel="nofollow">http://www.cplusplus.com/reference/algorithm/partial_sort/</a></p>
<p>Der erste und dritte Parameter grenzen den gesamten zu sortierenden Bereich ein (hier den gesamten vector), der erste und zweite geben den Bereich an, der hinterher sortiert sein soll (nämlich die ersten zehn Elemente).<br />
Der letzte Parameter ist eine Funktion, die zurückgibt, ob das erste übergebene Objekt kleiner als das zweite ist. Diese Funktion wird dann vom Sortieralgorithmus mehrfach aufgerufen.</p>
<p>Edit: ui, langsam.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2119429</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2119429</guid><dc:creator><![CDATA[Athar]]></dc:creator><pubDate>Wed, 14 Sep 2011 18:14:15 GMT</pubDate></item><item><title><![CDATA[Reply to vector sortieren. logikfehler ? on Wed, 14 Sep 2011 18:21:39 GMT]]></title><description><![CDATA[<p>okay danke jetzt macht das alles schon einwenig mehr sinn =).</p>
<p>allerdings hat das mit dem defenieren der member function nicht außerhalb funtioniert, also habe ich sie einfach ins struct miteinbezogen. dürfte doch keinen unterschied machen oder ?</p>
<pre><code class="language-cpp">struct data
{
     double X;
     double Y;
     double Z;
     double dist_p2(const data&amp; rhs)
        {
        double xd = abs(X-rhs.X);
        double yd = abs(Y-rhs.Y);
        double zd = abs(Z-rhs.Z);
        return xd*xd+yd*yd+zd*zd;
}

};
</code></pre>
<p>und bei</p>
<pre><code class="language-cpp">data startPoint{startX,startY,startZ};
        vector&lt;data&gt; copy(svec);
        partial_sort(copy.begin(),copy.begin()+10,copy.end(),
                     [&amp;](const data&amp; p1,const data&amp; p2)
                     {
                       return p1.dist_p2(startPoint)&lt;p2.dist_p2(startPoint);
                     });
</code></pre>
<p>meckert mein compiler:</p>
<blockquote>
<p>no primary expression before [<br />
no primary expression before ]<br />
no primary expression before const<br />
no primary expression before const</p>
</blockquote>
<p>irgentwas habe ich mal wieder extrem falsch gemacht oder <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>
]]></description><link>https://www.c-plusplus.net/forum/post/2119430</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2119430</guid><dc:creator><![CDATA[kantaki]]></dc:creator><pubDate>Wed, 14 Sep 2011 18:21:39 GMT</pubDate></item><item><title><![CDATA[Reply to vector sortieren. logikfehler ? on Wed, 14 Sep 2011 18:33:19 GMT]]></title><description><![CDATA[<blockquote>
<p>allerdings hat das mit dem defenieren der member function nicht außerhalb funtioniert, also habe ich sie einfach ins struct miteinbezogen. dürfte doch keinen unterschied machen oder ?</p>
</blockquote>
<p>Ja, das gehört in die Klassendeklaration (denn das erlaubt Inlining auch ohne LTO).</p>
<blockquote>
<p>meckert mein compiler:<br />
[...]</p>
</blockquote>
<p>Er wird sich an der Lambdafunktion stören, denn die gibt es erst ab C++11. Wenn du GCC &gt;=4.5 benutzt, kannst du mit -std=c++0x kompilieren.<br />
Ansonsten müsstest du einen eigenen Funktor basteln, wie CStoll schon gesagt hat.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2119434</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2119434</guid><dc:creator><![CDATA[Athar]]></dc:creator><pubDate>Wed, 14 Sep 2011 18:33:19 GMT</pubDate></item><item><title><![CDATA[Reply to vector sortieren. logikfehler ? on Wed, 14 Sep 2011 18:49:03 GMT]]></title><description><![CDATA[<p>Athar schrieb:</p>
<blockquote>
<blockquote>
<p>allerdings hat das mit dem defenieren der member function nicht außerhalb funtioniert, also habe ich sie einfach ins struct miteinbezogen. dürfte doch keinen unterschied machen oder ?</p>
</blockquote>
<p>Ja, das gehört in die Klassendeklaration (denn das erlaubt Inlining auch ohne LTO).</p>
<blockquote>
<p>meckert mein compiler:<br />
[...]</p>
</blockquote>
<p>Er wird sich an der Lambdafunktion stören, denn die gibt es erst ab C++11. Wenn du GCC &gt;=4.5 benutzt, kannst du mit -std=c++0x kompilieren.<br />
Ansonsten müsstest du einen eigenen Funktor basteln, wie CStoll schon gesagt hat.</p>
</blockquote>
<p>das ist ja das merkwürdige. ich hab extra meinen gnu compiler auf -std=c++0x umgestellt.<br />
ich habe es testweise mit dem vs2010 kompiler Kompiliert.</p>
<blockquote>
<p>error C2662: 'data::dist_p2': this-Zeiger kann nicht von 'const data' in 'data &amp;' konvertiert werden</p>
</blockquote>
<p>also habe ich es einfach mal geändert</p>
<pre><code class="language-cpp">data startPoint;
		startPoint.X = startX;
        startPoint.Y=startY;
        startPoint.Z=startZ;
        vector&lt;data&gt; copy(svec);
        partial_sort(copy.begin(),copy.begin()+10,copy.end(),
                     [&amp;](data p1,data p2)
                     {
                       return p1.dist_p2(startPoint)&lt;p2.dist_p2(startPoint);
                     });
</code></pre>
<p>jetzt meckert vs2010 nicht mehr nur noch gnu, ich werd mal weiter schreiben.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2119444</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2119444</guid><dc:creator><![CDATA[kantaki]]></dc:creator><pubDate>Wed, 14 Sep 2011 18:49:03 GMT</pubDate></item><item><title><![CDATA[Reply to vector sortieren. logikfehler ? on Wed, 14 Sep 2011 19:03:23 GMT]]></title><description><![CDATA[<p>Das war mein Fehler. Statt die Parameter zu ändern, solltest du das fehlende const bei dist_p2 ergänzen:</p>
<pre><code class="language-cpp">double dist_p2(const data&amp; rhs) const
{ ...
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/2119453</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2119453</guid><dc:creator><![CDATA[Athar]]></dc:creator><pubDate>Wed, 14 Sep 2011 19:03:23 GMT</pubDate></item><item><title><![CDATA[Reply to vector sortieren. logikfehler ? on Wed, 14 Sep 2011 19:06:23 GMT]]></title><description><![CDATA[<p>ah super danke <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/2119456</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2119456</guid><dc:creator><![CDATA[kantaki]]></dc:creator><pubDate>Wed, 14 Sep 2011 19:06:23 GMT</pubDate></item><item><title><![CDATA[Reply to vector sortieren. logikfehler ? on Wed, 14 Sep 2011 21:49:59 GMT]]></title><description><![CDATA[<p>ich benutze code blocks mit dem mitgelieferten gnuc++ compiler. auch nach einbinden des std c++0x kann ich den code nicht kompilieren.<br />
hat jemand vielleicht eine idee woran es liegen könnte?</p>
<p>ich lade mir mal<br />
<a href="http://webscripts.softpedia.com/script/Development-Scripts-js/Compilers/GNU-Compiler-Collection-26869.html" rel="nofollow">http://webscripts.softpedia.com/script/Development-Scripts-js/Compilers/GNU-Compiler-Collection-26869.html</a><br />
gnu 4.6.1 herunter.<br />
edit : ah ich glaube der mitgelieferte gnu kompiler ist nur version 4.4.1 vielleicht liegt es daran</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2119497</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2119497</guid><dc:creator><![CDATA[kantaki]]></dc:creator><pubDate>Wed, 14 Sep 2011 21:49:59 GMT</pubDate></item><item><title><![CDATA[Reply to vector sortieren. logikfehler ? on Wed, 14 Sep 2011 23:59:03 GMT]]></title><description><![CDATA[<p>Hier wird dir geholfen:<br />
<a href="http://tdm-gcc.tdragon.net/" rel="nofollow">http://tdm-gcc.tdragon.net/</a></p>
<p>Vernünftige MinGW-Distributionen mit GCC 4.6 sind mir bisher nicht bekannt (vernünftig=keine Abhängigkeiten zu mingwm10.dll, msvcp*.dll oder msvcrXX.dll)<br />
Edit: <a href="ftp://ftp.equation.com/gcc/" rel="nofollow">ftp://ftp.equation.com/gcc/</a> erfüllt das Kriterium doch. Die Namen einiger dieser DLLs tauchen zwar in der Binary auf (warum auch immer), aber importiert wird daraus nichts.<br />
Außerdem funktioniert mit dieser Version OpenMP anstandslos, anders als bei der neuesten TDM-Variante.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2119514</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2119514</guid><dc:creator><![CDATA[Athar]]></dc:creator><pubDate>Wed, 14 Sep 2011 23:59:03 GMT</pubDate></item><item><title><![CDATA[Reply to vector sortieren. logikfehler ? on Thu, 15 Sep 2011 11:26:00 GMT]]></title><description><![CDATA[<p>super funktioniert alles wie es soll.</p>
<p>nochmals vielen dank =).</p>
<p>allerdings hätte ich nur noch eine verständisfrage zu</p>
<pre><code class="language-cpp">[&amp;](const data&amp; p1,const data&amp; p2)
</code></pre>
<pre><code class="language-cpp">[&amp;]
</code></pre>
<p>und zwar verstehe ich nicht wofür das sein soll, was macht es?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2119664</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2119664</guid><dc:creator><![CDATA[kantaki]]></dc:creator><pubDate>Thu, 15 Sep 2011 11:26:00 GMT</pubDate></item><item><title><![CDATA[Reply to vector sortieren. logikfehler ? on Thu, 15 Sep 2011 11:29:05 GMT]]></title><description><![CDATA[<p>kantaki schrieb:</p>
<blockquote>
<p>super funktioniert alles wie es soll.</p>
<p>nochmals vielen dank =).</p>
<p>allerdings hätte ich nur noch eine verständisfrage zu</p>
<pre><code class="language-cpp">[&amp;](const data&amp; p1,const data&amp; p2)
</code></pre>
<pre><code class="language-cpp">[&amp;]
</code></pre>
<p>und zwar verstehe ich nicht wofür das sein soll, was macht es?</p>
</blockquote>
<p>Das ist Teil eines Lambda-Ausdrucks. Ich behaupte aber mal, dass du nicht nur den Teil nicht ganz verstanden hast. Wenn du den nicht verstehst, macht der ganze Aufruf von partial_sort keinen wirklichen Sinn...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2119667</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2119667</guid><dc:creator><![CDATA[pumuckl]]></dc:creator><pubDate>Thu, 15 Sep 2011 11:29:05 GMT</pubDate></item></channel></rss>