<?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[Aus 2 vector mach 1 vector. wie?]]></title><description><![CDATA[<p>Hi.</p>
<p>Ich habe 2 vector&lt;&gt; die ich getrennt sortiert habe und jetzt möchte ich gerne diese Beiden zusammenfügen, um in einer Schleife sie durchzugehen. Kann da wer bitte helfen? Ist bestimmt ganz einfach, aber ich arbeite zum ersten male mit vector&lt;&gt; <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/topic/118205/aus-2-vector-mach-1-vector-wie</link><generator>RSS for Node</generator><lastBuildDate>Fri, 21 Aug 2026 10:23:46 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/118205.rss" rel="self" type="application/rss+xml"/><pubDate>Tue, 16 Aug 2005 09:39:37 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Aus 2 vector mach 1 vector. wie? on Tue, 16 Aug 2005 09:39:37 GMT]]></title><description><![CDATA[<p>Hi.</p>
<p>Ich habe 2 vector&lt;&gt; die ich getrennt sortiert habe und jetzt möchte ich gerne diese Beiden zusammenfügen, um in einer Schleife sie durchzugehen. Kann da wer bitte helfen? Ist bestimmt ganz einfach, aber ich arbeite zum ersten male mit vector&lt;&gt; <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/853160</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/853160</guid><dc:creator><![CDATA[vectorilo]]></dc:creator><pubDate>Tue, 16 Aug 2005 09:39:37 GMT</pubDate></item><item><title><![CDATA[Reply to Aus 2 vector mach 1 vector. wie? on Tue, 16 Aug 2005 09:44:31 GMT]]></title><description><![CDATA[<p>vielleicht<br />
<a href="http://www.cppreference.com/cppalgorithm/merge.html" rel="nofollow">http://www.cppreference.com/cppalgorithm/merge.html</a></p>
]]></description><link>https://www.c-plusplus.net/forum/post/853167</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/853167</guid><dc:creator><![CDATA[miller_m]]></dc:creator><pubDate>Tue, 16 Aug 2005 09:44:31 GMT</pubDate></item><item><title><![CDATA[Reply to Aus 2 vector mach 1 vector. wie? on Tue, 16 Aug 2005 10:18:37 GMT]]></title><description><![CDATA[<p>Mhh irgendwie peil ich das nicht</p>
<pre><code class="language-cpp">iterator merge( iterator start1, iterator end1, iterator start2, iterator end2, iterator result );
</code></pre>
<pre><code class="language-cpp">vector&lt;MyStruct&gt; ergebnis,vec1,vec2;
// sortiere vec1 und vec2
...
// füge beide vector zusammen
ergebnis.std::merge(vec1.begin(),vec1.end(),vec2.begin(),vec2.end(),????);
</code></pre>
<p>Was muss denn in &quot;????&quot; rein? <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/853195</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/853195</guid><dc:creator><![CDATA[vectorilo]]></dc:creator><pubDate>Tue, 16 Aug 2005 10:18:37 GMT</pubDate></item><item><title><![CDATA[Reply to Aus 2 vector mach 1 vector. wie? on Tue, 16 Aug 2005 10:22:03 GMT]]></title><description><![CDATA[<p>hier findest du beispiele <a href="http://www.cpp-tutor.de/cpp/le18/le18_04.htm" rel="nofollow">http://www.cpp-tutor.de/cpp/le18/le18_04.htm</a></p>
]]></description><link>https://www.c-plusplus.net/forum/post/853196</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/853196</guid><dc:creator><![CDATA[miller_m]]></dc:creator><pubDate>Tue, 16 Aug 2005 10:22:03 GMT</pubDate></item><item><title><![CDATA[Reply to Aus 2 vector mach 1 vector. wie? on Tue, 16 Aug 2005 10:23:32 GMT]]></title><description><![CDATA[<pre><code class="language-cpp">ergebnis.std::merge(vec1.begin(),vec1.end(),vec2.begin(),vec2.end(), back_inserter( ergebnis));
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/853199</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/853199</guid><dc:creator><![CDATA[niemand]]></dc:creator><pubDate>Tue, 16 Aug 2005 10:23:32 GMT</pubDate></item><item><title><![CDATA[Reply to Aus 2 vector mach 1 vector. wie? on Tue, 16 Aug 2005 10:35:24 GMT]]></title><description><![CDATA[<pre><code class="language-cpp">vector&lt;MyStruct&gt; ergebnis,vec1,vec2;
</code></pre>
<p>Etwas unglückliches Beispiel, da man dort gleich nen unbekannten Befehl &quot;back_inserter&quot; nutzt<br />
Ich hatte zu allererst so probiert</p>
<pre><code class="language-cpp">std::merge(vec1.begin(),vec1.end(),vec2.begin(),vec2.end(),ergebnis.begin());
</code></pre>
<p>aber da kam:<br />
[C++ Fehler] <a href="http://algorith.cc" rel="nofollow">algorith.cc</a>(1657): E2093 'operator&lt;' ist im Typ 'MyStruct' für Argumente desselben Typs nicht implementiert.</p>
<p>Das gleiche kommt aber auch bei deinem Beispiel, also muss der Fehler ja doch woanders liegen <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f62e.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--face_with_open_mouth"
      title=":open_mouth:"
      alt="😮"
    /></p>
<pre><code class="language-cpp">std::merge(vec1.begin(),vec1.end(),vec2.begin(),vec2.end(),std::back_inserter(ergebnis));
</code></pre>
<p>Das hier funktioniert Fehlerfrei:</p>
<pre><code class="language-cpp">std::sort(vec1.begin(),vec1.end(),qSort());
</code></pre>
<p>Ich verstehe jetzt nicht wirklich wo der Fehler liegen soll <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>
<p><a class="plugin-mentions-user plugin-mentions-a" href="https://www.c-plusplus.net/forum/uid/9698">@niemand</a><br />
Produziert leider:<br />
[C++ Fehler] Unit1.cpp(1697): E2316 'merge' ist kein Element von 'vector&lt;MyStruct,allocator&lt;MyStruct&gt; &gt;'</p>
]]></description><link>https://www.c-plusplus.net/forum/post/853205</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/853205</guid><dc:creator><![CDATA[vectorilo]]></dc:creator><pubDate>Tue, 16 Aug 2005 10:35:24 GMT</pubDate></item><item><title><![CDATA[Reply to Aus 2 vector mach 1 vector. wie? on Tue, 16 Aug 2005 10:41:26 GMT]]></title><description><![CDATA[<p>vectorilo schrieb:</p>
<blockquote>
<p>[C++ Fehler] <a href="http://algorith.cc" rel="nofollow">algorith.cc</a>(1657): E2093 'operator&lt;' ist im Typ 'MyStruct' für Argumente desselben Typs nicht implementiert.</p>
</blockquote>
<p>er will die element reihenfolge wissen somit musst du bei deiner klasse den operator &lt; überschreiben. wie im beispiel</p>
]]></description><link>https://www.c-plusplus.net/forum/post/853210</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/853210</guid><dc:creator><![CDATA[miller_m]]></dc:creator><pubDate>Tue, 16 Aug 2005 10:41:26 GMT</pubDate></item><item><title><![CDATA[Reply to Aus 2 vector mach 1 vector. wie? on Tue, 16 Aug 2005 11:01:52 GMT]]></title><description><![CDATA[<pre><code class="language-cpp">std::merge(vec1.begin(),vec1.end(),vec2.begin(),vec2.end(),std::back_inserter(ergebnis), qSort());
</code></pre>
<p>sollte es aber dann tun.</p>
<p>Sowohl sort als auch merge bekommen ein BinaryPredicate, welches für den Vergleich genutzt wird. Übergibst Du das den Funktionen nicht, wird der operator&lt;() für den Vergleich genommen. Der muss dann natürlich auch implementiert sein.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/853227</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/853227</guid><dc:creator><![CDATA[niemand]]></dc:creator><pubDate>Tue, 16 Aug 2005 11:01:52 GMT</pubDate></item><item><title><![CDATA[Reply to Aus 2 vector mach 1 vector. wie? on Tue, 16 Aug 2005 11:26:02 GMT]]></title><description><![CDATA[<p>Beispiel</p>
<pre><code class="language-cpp">typedef std::vector&lt;int&gt; cType;
cType cont1, cont2, work;
std::merge(cont1.begin(),cont1.end(), cont2.begin(), cont2.end(), std::back_inserter(work));
</code></pre>
<p>Meins</p>
<pre><code class="language-cpp">struct MyStruct
{
// verschiendes
};
typedef std::vector&lt;MyStruct, std::allocator&lt;MyStruct&gt; &gt; Vector;
Vector ergebnis,vec1,vec2;
std::merge(vec1.begin(),vec1.end(),vec2.begin(),vec2.end(),std::back_inserter(ergebnis));
</code></pre>
<p>Klappt jedoch leider nicht.</p>
<p><a class="plugin-mentions-user plugin-mentions-a" href="https://www.c-plusplus.net/forum/uid/9698">@niemand</a><br />
Dein Beispiel geht sauber durch, aber sortiert nochmals neu? weil statt vec1 und anschliessend vec2 ist es vec2 und dann vec1, das will ich ja nicht.</p>
<p>Das mit dem operator&lt;() verstehe ich erlich gesagt noch nicht wirklich, bitte mehr helfen <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f921.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--clown_face"
      title=":clown:"
      alt="🤡"
    /></p>
<p>Ich möchte 2 vectoren verbinden und dabei vec1 vorne und danach vec2 haben.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/853259</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/853259</guid><dc:creator><![CDATA[vectorilo]]></dc:creator><pubDate>Tue, 16 Aug 2005 11:26:02 GMT</pubDate></item><item><title><![CDATA[Reply to Aus 2 vector mach 1 vector. wie? on Tue, 16 Aug 2005 11:35:41 GMT]]></title><description><![CDATA[<pre><code class="language-cpp">Vector ergebnis,vec1,vec2;
ergebnis = vec1;
std::copy(vec2.begin(), vec2.end(), std::back_inserter(ergebnis));
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/853270</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/853270</guid><dc:creator><![CDATA[MFK]]></dc:creator><pubDate>Tue, 16 Aug 2005 11:35:41 GMT</pubDate></item><item><title><![CDATA[Reply to Aus 2 vector mach 1 vector. wie? on Tue, 16 Aug 2005 11:36:23 GMT]]></title><description><![CDATA[<p>Wir sind - glaube ich - alle davon ausgegangen, dass Du die beiden vector mischen willst (also einen sortierten Gesamtvektor).</p>
<pre><code class="language-cpp">ergebnis = vec1;
std::copy( vec2.begin(), vec2.end(), back_inserter( ergebnis));
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/853271</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/853271</guid><dc:creator><![CDATA[niemand]]></dc:creator><pubDate>Tue, 16 Aug 2005 11:36:23 GMT</pubDate></item><item><title><![CDATA[Reply to Aus 2 vector mach 1 vector. wie? on Tue, 16 Aug 2005 11:40:23 GMT]]></title><description><![CDATA[<p>vectorilo schrieb:</p>
<blockquote>
<p>Ich möchte 2 vectoren verbinden und dabei vec1 vorne und danach vec2 haben.</p>
</blockquote>
<p>das wirft ein ganz neues licht auf die sache. <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>
<p>so was zum beispiel</p>
<pre><code class="language-cpp">std::vector&lt;int&gt; v1;
	std::vector&lt;int&gt; v2;
	std::vector&lt;int&gt; vResult;

	v1.push_back(5);
	v1.push_back(15);
	v1.push_back(25);

	v2.push_back(6);
	v2.push_back(16);
	v2.push_back(26);

	std::copy(v1.begin(), v1.end(), std::back_inserter(vResult));
	std::copy(v2.begin(), v2.end(), std::back_inserter(vResult));

	std::copy(vResult.begin(), vResult.end(), std::ostream_iterator&lt;int&gt;(std::cout, &quot; &quot;));
</code></pre>
<p>[edit]<br />
<a class="plugin-mentions-user plugin-mentions-a" href="https://www.c-plusplus.net/forum/uid/9698">@niemand</a><br />
jep, bin ich auch</p>
<p>und zu langsam war ich auch <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f621.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--pouting_face"
      title=":rage:"
      alt="😡"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/853275</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/853275</guid><dc:creator><![CDATA[miller_m]]></dc:creator><pubDate>Tue, 16 Aug 2005 11:40:23 GMT</pubDate></item><item><title><![CDATA[Reply to Aus 2 vector mach 1 vector. wie? on Tue, 16 Aug 2005 11:57:26 GMT]]></title><description><![CDATA[<p>Juhu das klappt famos, vielen dank!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/853298</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/853298</guid><dc:creator><![CDATA[vectorilo]]></dc:creator><pubDate>Tue, 16 Aug 2005 11:57:26 GMT</pubDate></item><item><title><![CDATA[Reply to Aus 2 vector mach 1 vector. wie? on Tue, 16 Aug 2005 12:08:57 GMT]]></title><description><![CDATA[<p>vectorilo schrieb:</p>
<blockquote>
<p>Das mit dem operator&lt;() verstehe ich erlich gesagt noch nicht wirklich, bitte mehr helfen <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f921.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--clown_face"
      title=":clown:"
      alt="🤡"
    /></p>
</blockquote>
<p>Der wird standardmäßig für die Sortierung verwandt. Wie hast du denn die Vektoren ursprünglich sortiert? Daraus könntest du auch ein Prädikat machen.</p>
<p>vectorilo schrieb:</p>
<blockquote>
<p>Ich möchte 2 vectoren verbinden und dabei vec1 vorne und danach vec2 haben.</p>
</blockquote>
<p>Das ist eigentlich noch simpler als die vorangegangene std::copy-Variante:</p>
<pre><code class="language-cpp">vector&lt;foo&gt; vec1, vec2;
// ...
vec1.insert(vec1.end(), vec2.begin(), vec2.end());

// analog dazu mit 'Ergebnis-vector':
vector&lt;foo&gt; res(vec1.begin(), vec1.end());
res.insert(res.end(), vec2.begin(), vec2.end());
</code></pre>
<p>Damit ist aber das Ergebnis nicht mehr zwangsläufig sortiert.</p>
<p>Wenn du solche Aktionen öfter brauchst (und vor allem auf wahlfreien Zugriff verzichten kannst) lohnt sich evtl auch ein Blick auf <em>std::list</em>.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/853319</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/853319</guid><dc:creator><![CDATA[finix]]></dc:creator><pubDate>Tue, 16 Aug 2005 12:08:57 GMT</pubDate></item><item><title><![CDATA[Reply to Aus 2 vector mach 1 vector. wie? on Sat, 20 Aug 2005 12:10:58 GMT]]></title><description><![CDATA[<p>Ich habe da auch mal eine Frage. Wenn man die Elemente in einer Schleife durchgeht, besteht die Möglichkeit diese irgendwie zu ändern?</p>
<pre><code class="language-cpp">vector&lt;daten&gt;::const_iterator Iter = vec.begin();
do {
   if ((*Iter).zahl==5)
   {
      (*Iter).zahl = 1; // das geht ja nicht
   }
} while(++Iter != vec.end());
</code></pre>
<p>Kann da wer was zu sagen? <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/854880</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/854880</guid><dc:creator><![CDATA[muhli]]></dc:creator><pubDate>Sat, 20 Aug 2005 12:10:58 GMT</pubDate></item><item><title><![CDATA[Reply to Aus 2 vector mach 1 vector. wie? on Sat, 20 Aug 2005 12:20:35 GMT]]></title><description><![CDATA[<p>muhli schrieb:</p>
<blockquote>
<p>Ich habe da auch mal eine Frage. Wenn man die Elemente in einer Schleife durchgeht, besteht die Möglichkeit diese irgendwie zu ändern?</p>
<pre><code class="language-cpp">vector&lt;daten&gt;::const_iterator Iter = vec.begin();
do {
   if ((*Iter).zahl==5)
   {
      (*Iter).zahl = 1; // das geht ja nicht
   }
} while(++Iter != vec.end());
</code></pre>
<p>Kann da wer was zu sagen? <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>
</blockquote>
<p>Um ein vector-Element über einen Iterator zu <em>ändern</em> darfst du keinen const_iterator verwenden <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>Caipi</p>
]]></description><link>https://www.c-plusplus.net/forum/post/854891</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/854891</guid><dc:creator><![CDATA[Caipi]]></dc:creator><pubDate>Sat, 20 Aug 2005 12:20:35 GMT</pubDate></item><item><title><![CDATA[Reply to Aus 2 vector mach 1 vector. wie? on Sat, 20 Aug 2005 12:21:59 GMT]]></title><description><![CDATA[<p>*Headshot* <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f62e.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--face_with_open_mouth"
      title=":open_mouth:"
      alt="😮"
    /> <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</p>
]]></description><link>https://www.c-plusplus.net/forum/post/854894</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/854894</guid><dc:creator><![CDATA[muhli]]></dc:creator><pubDate>Sat, 20 Aug 2005 12:21:59 GMT</pubDate></item><item><title><![CDATA[Reply to Aus 2 vector mach 1 vector. wie? on Sat, 20 Aug 2005 12:23:03 GMT]]></title><description><![CDATA[<p>vector&lt;daten&gt;::iterator</p>
<p>Wenn du nen constanten Interator verwendest ist ja klar dass du das nicht machen kannst. Geht aber natürlich nur wenn der Vekot selber nicht const ist.</p>
<p>edit: kagge zu langsam...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/854895</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/854895</guid><dc:creator><![CDATA[FireFlow]]></dc:creator><pubDate>Sat, 20 Aug 2005 12:23:03 GMT</pubDate></item><item><title><![CDATA[Reply to Aus 2 vector mach 1 vector. wie? on Sat, 20 Aug 2005 12:55:08 GMT]]></title><description><![CDATA[<p>BTW: Statt &quot;(*iter).&quot; verwende doch lieber &quot;iter-&gt;&quot;, dann müssen arme Sides nicht so lange überlegen was da gemacht wird <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>MfG SideWinder</p>
]]></description><link>https://www.c-plusplus.net/forum/post/854912</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/854912</guid><dc:creator><![CDATA[SideWinder]]></dc:creator><pubDate>Sat, 20 Aug 2005 12:55:08 GMT</pubDate></item></channel></rss>