<?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 mir CHARS Sortieren]]></title><description><![CDATA[<p>Tach alle zusammen, ich hätt da nen kleines Problemchen.</p>
<p>Ich hab einen Vector mit char Werten befüllt, und möchte diesen sortieren. Nun hab ich folgendes gemacht:</p>
<pre><code class="language-cpp">static bool SortCharAufwaerts(Objkt *b1, Objkt *b2)
{
	if (b1-&gt;m_Charwert != b2-&gt;m_Charwert)
	{
		return b1-&gt;m_Charwert &lt; b2-&gt;m_Charwert;
	}
	else
	{
		return true;
	}
}
</code></pre>
<p>Wenn ich diese Funktion z.B. für long - Werte benutze, funktioniert es einwandfrei. Mit Chars gehts aber nicht, sprich, es wird kein Fehler ausgegeben es wird aber auch nicht sortiert.<br />
Der Aufruf der Sort-Funktion geschieht dann folgendermaßen:</p>
<pre><code class="language-cpp">std::sort(CharVec.begin(), CharVec.end(), SortCharAufwaerts);
</code></pre>
<p>Hat vieleicht jemand Rat, wie ich nen Vector mit Chars sortieren könnte???</p>
<p>BIG THX in voraus</p>
<p>Slawo</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/172094/vector-mir-chars-sortieren</link><generator>RSS for Node</generator><lastBuildDate>Thu, 17 Sep 2026 16:38:54 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/172094.rss" rel="self" type="application/rss+xml"/><pubDate>Thu, 01 Feb 2007 12:03:58 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Vector mir CHARS Sortieren on Thu, 01 Feb 2007 12:03:58 GMT]]></title><description><![CDATA[<p>Tach alle zusammen, ich hätt da nen kleines Problemchen.</p>
<p>Ich hab einen Vector mit char Werten befüllt, und möchte diesen sortieren. Nun hab ich folgendes gemacht:</p>
<pre><code class="language-cpp">static bool SortCharAufwaerts(Objkt *b1, Objkt *b2)
{
	if (b1-&gt;m_Charwert != b2-&gt;m_Charwert)
	{
		return b1-&gt;m_Charwert &lt; b2-&gt;m_Charwert;
	}
	else
	{
		return true;
	}
}
</code></pre>
<p>Wenn ich diese Funktion z.B. für long - Werte benutze, funktioniert es einwandfrei. Mit Chars gehts aber nicht, sprich, es wird kein Fehler ausgegeben es wird aber auch nicht sortiert.<br />
Der Aufruf der Sort-Funktion geschieht dann folgendermaßen:</p>
<pre><code class="language-cpp">std::sort(CharVec.begin(), CharVec.end(), SortCharAufwaerts);
</code></pre>
<p>Hat vieleicht jemand Rat, wie ich nen Vector mit Chars sortieren könnte???</p>
<p>BIG THX in voraus</p>
<p>Slawo</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1221042</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1221042</guid><dc:creator><![CDATA[Slawo]]></dc:creator><pubDate>Thu, 01 Feb 2007 12:03:58 GMT</pubDate></item><item><title><![CDATA[Reply to Vector mir CHARS Sortieren on Thu, 01 Feb 2007 12:08:04 GMT]]></title><description><![CDATA[<p>So wie es aussieht, stellt deine Funktion eine &lt;=-Beziehung zwischen den übergebenen Objekten dar. sort() benötigt aber eine &lt;-Beziehung.</p>
<p>Btw, was soll überhaupt die Fallunterscheidung? Das kannst du doch mit einem einzigen Vergleich abhandeln:</p>
<pre><code class="language-cpp">static bool SortCharAufwaerts(Objkt *b1, Objkt *b2)
{
  return b1-&gt;m_Charwert &lt; b2-&gt;m_Charwert;
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1221047</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1221047</guid><dc:creator><![CDATA[CStoll]]></dc:creator><pubDate>Thu, 01 Feb 2007 12:08:04 GMT</pubDate></item><item><title><![CDATA[Reply to Vector mir CHARS Sortieren on Thu, 01 Feb 2007 12:22:01 GMT]]></title><description><![CDATA[<p>@ CStoll:</p>
<p>Habs jetzt eben so versucht wie du es geschrieben hast, kommt aber nix vernünftiges bei rum. Sprich er sortiert nicht. Genauso wie vorher nach meiner Methode. Also ein Vectoreintrag besitzt einen Charwert der aus 12 Zahlen besteht. Das muß aber so sein!!!!! Ist so im Programm festgelegt!!!!!</p>
<p>Vielleicht gibts da ne andere Methode das zu sortieren???</p>
<p>Slawo</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1221056</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1221056</guid><dc:creator><![CDATA[Slawo]]></dc:creator><pubDate>Thu, 01 Feb 2007 12:22:01 GMT</pubDate></item><item><title><![CDATA[Reply to Vector mir CHARS Sortieren on Thu, 01 Feb 2007 12:25:48 GMT]]></title><description><![CDATA[<p>Slawo schrieb:</p>
<blockquote>
<p>Genauso wie vorher nach meiner Methode. Also ein Vectoreintrag besitzt einen Charwert der aus 12 Zahlen besteht.</p>
</blockquote>
<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="😕"
    /> Kannst du mal bitte die Definition der Klasse &quot;Objkt&quot; zeigen, vielleicht wird's dann verständlicher.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1221060</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1221060</guid><dc:creator><![CDATA[CStoll]]></dc:creator><pubDate>Thu, 01 Feb 2007 12:25:48 GMT</pubDate></item><item><title><![CDATA[Reply to Vector mir CHARS Sortieren on Thu, 01 Feb 2007 12:37:59 GMT]]></title><description><![CDATA[<pre><code class="language-cpp">class Objkt
{
	public:
		char m_Charwert[STRSIZE_CHARWERT];

                ...
                ...
        public:
               Objkt(){};
               ~Objkt(){};
};

typedef std::vector&lt;Objkt*&gt; CharPtrVec;
</code></pre>
<p>Die Größe ist in einer anderen Datei wie folgt diefiniert:</p>
<pre><code class="language-cpp">#define STRSIZE_CHARWERT 13
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1221071</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1221071</guid><dc:creator><![CDATA[Slawo]]></dc:creator><pubDate>Thu, 01 Feb 2007 12:37:59 GMT</pubDate></item><item><title><![CDATA[Reply to Vector mir CHARS Sortieren on Thu, 01 Feb 2007 12:54:13 GMT]]></title><description><![CDATA[<p>Achso, das ist ein char-<em>Array</em>. Das kannst du nicht mit &lt; vergleichen (die Vergleichsoperatoren führen einen Zeiger-Vergleich durch), sondern mit strcmp() oder memcmp():</p>
<pre><code class="language-cpp">static bool SortCharAufwaerts(Objkt *b1, Objkt *b2)
{
  return memcmp(b1-&gt;m_Charwert,b2-&gt;m_Charwert,STRSIZE_CHARWERT-1)&lt;0;
  //oder
  return strcmp(b1-&gt;m_Charwert,b2-&gt;m_Charwert)&lt;0;
}
</code></pre>
<p>(Möglichkeit 3: Du verwendest std::string anstelle des char-Arrays)</p>
<p>PS: kannst du keine sinnvolleren Namen vergeben? <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>
<p>Edit: Natürlich nicht cpy, sondern cmp <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f603.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--grinning_face_with_big_eyes"
      title=":D"
      alt="😃"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1221075</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1221075</guid><dc:creator><![CDATA[CStoll]]></dc:creator><pubDate>Thu, 01 Feb 2007 12:54:13 GMT</pubDate></item><item><title><![CDATA[Reply to Vector mir CHARS Sortieren on Thu, 01 Feb 2007 12:48:09 GMT]]></title><description><![CDATA[<p>Du kannst zwei char-Arrays nicht auf diese Weise vergleichen. Du vergleichst da nämlich zwei Zeiger. Dafür gibt es die Funktion strcmp. Besser wäre es allerdings du nimmst gleich std::string statt char[].<br />
Ansonsten</p>
<pre><code class="language-cpp">bool SortCharAufwaerts(Objkt *b1, Objkt *b2)
{
    return strcmp(b1-&gt;m_Charwert, b2-&gt;m_Charwert) &lt; 0;
}
</code></pre>
<p>[edit] CStoll, wieso hier memcpy? [edit]</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1221078</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1221078</guid><dc:creator><![CDATA[Braunstein]]></dc:creator><pubDate>Thu, 01 Feb 2007 12:48:09 GMT</pubDate></item><item><title><![CDATA[Reply to Vector mir CHARS Sortieren on Thu, 01 Feb 2007 12:51:50 GMT]]></title><description><![CDATA[<p>Hehe, mit den Namen ist das sone Sache <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>
<p>Also, was er jetzt macht, ist, das er sich nur einen CHARWERT nimmt und alles andere damit überschreibt. Sprich, in der Ausgabe ist nur ein und der gleiche Wert zu sehen.</p>
<p>Hmmm.... <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>
]]></description><link>https://www.c-plusplus.net/forum/post/1221082</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1221082</guid><dc:creator><![CDATA[Slawo]]></dc:creator><pubDate>Thu, 01 Feb 2007 12:51:50 GMT</pubDate></item><item><title><![CDATA[Reply to Vector mir CHARS Sortieren on Thu, 01 Feb 2007 12:55:38 GMT]]></title><description><![CDATA[<p>Der Herr von Braunstein hatte recht, so gehts!!!!</p>
<p>Vielen DANK Leute für die Hilfe !!!! <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f44d.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--thumbs_up"
      title=":+1:"
      alt="👍"
    /></p>
<p>Slawo</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1221086</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1221086</guid><dc:creator><![CDATA[Slawo]]></dc:creator><pubDate>Thu, 01 Feb 2007 12:55:38 GMT</pubDate></item><item><title><![CDATA[Reply to Vector mir CHARS Sortieren on Thu, 01 Feb 2007 12:55:39 GMT]]></title><description><![CDATA[<p>Braunstein schrieb:</p>
<blockquote>
<p>[edit] CStoll, wieso hier memcpy? [edit]</p>
</blockquote>
<p>Sorry, da habe ich wohl schneller getippt als ich mitdenken konnte - habe den Fehler oben korrigiert.</p>
<p><a class="plugin-mentions-user plugin-mentions-a" href="https://www.c-plusplus.net/forum/uid/11370">@Slawo</a>: erwischt <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f603.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--grinning_face_with_big_eyes"
      title=":D"
      alt="😃"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1221087</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1221087</guid><dc:creator><![CDATA[CStoll]]></dc:creator><pubDate>Thu, 01 Feb 2007 12:55:39 GMT</pubDate></item></channel></rss>