<?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 in Vector schreiben]]></title><description><![CDATA[<p>Hallo community,</p>
<p>ich versuch eine vector in den anderen zu schreiben.<br />
Bis jetzt hab ich das</p>
<pre><code class="language-cpp">std::vector&lt;std::string&gt; Backup,final;

for(int i = 0; i&lt;Backup.size(); i++) {
		 Backup[i] = final[i+1];
}
</code></pre>
<p>Das 0 Element von final ist schon beschrieben und ich möchte es nicht überschreiben, deswegen soll ein element von Backup immer ein element höher in final geschrieben werden.</p>
<p>Wenn ich das jetzt compeliere bekomme ich einen Fehler</p>
<blockquote>
<p>vector subscript out of range</p>
</blockquote>
<p>Hat jemand einen anreiz? Aber bitte keine vollständige Lösung, da ich wircklich etwas lernen möchte.<br />
Danke</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/304657/vector-in-vector-schreiben</link><generator>RSS for Node</generator><lastBuildDate>Wed, 24 Jun 2026 06:24:06 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/304657.rss" rel="self" type="application/rss+xml"/><pubDate>Mon, 11 Jun 2012 19:08:29 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Vector in Vector schreiben on Mon, 11 Jun 2012 19:08:29 GMT]]></title><description><![CDATA[<p>Hallo community,</p>
<p>ich versuch eine vector in den anderen zu schreiben.<br />
Bis jetzt hab ich das</p>
<pre><code class="language-cpp">std::vector&lt;std::string&gt; Backup,final;

for(int i = 0; i&lt;Backup.size(); i++) {
		 Backup[i] = final[i+1];
}
</code></pre>
<p>Das 0 Element von final ist schon beschrieben und ich möchte es nicht überschreiben, deswegen soll ein element von Backup immer ein element höher in final geschrieben werden.</p>
<p>Wenn ich das jetzt compeliere bekomme ich einen Fehler</p>
<blockquote>
<p>vector subscript out of range</p>
</blockquote>
<p>Hat jemand einen anreiz? Aber bitte keine vollständige Lösung, da ich wircklich etwas lernen möchte.<br />
Danke</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2222174</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2222174</guid><dc:creator><![CDATA[win32]]></dc:creator><pubDate>Mon, 11 Jun 2012 19:08:29 GMT</pubDate></item><item><title><![CDATA[Reply to Vector in Vector schreiben on Mon, 11 Jun 2012 19:22:19 GMT]]></title><description><![CDATA[<p>win32 schrieb:</p>
<blockquote>
<p>Das 0 Element von final ist schon beschrieben und ich möchte es nicht überschreiben, deswegen soll ein element von Backup immer ein element höher in final geschrieben werden.</p>
</blockquote>
<p>Hier wird aber final in Backup geschrieben, deshalb solltest du Backup vor der Schleife auf die richtige Größe bringen und dann stimmt die Bedingung auch mit i + 1 &lt; final.size() überein.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2222179</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2222179</guid><dc:creator><![CDATA[wxSkip]]></dc:creator><pubDate>Mon, 11 Jun 2012 19:22:19 GMT</pubDate></item><item><title><![CDATA[Reply to Vector in Vector schreiben on Mon, 11 Jun 2012 19:26:12 GMT]]></title><description><![CDATA[<p>Tut mir leid, ich habe deine Post nicht ganz verstanden.</p>
<p>Ich will nur alle elemente von Backup in final speichern, doch dass das kopieren der Backup-Elemente erst beim 1. element von final anfängt.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2222180</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2222180</guid><dc:creator><![CDATA[win32]]></dc:creator><pubDate>Mon, 11 Jun 2012 19:26:12 GMT</pubDate></item><item><title><![CDATA[Reply to Vector in Vector schreiben on Mon, 11 Jun 2012 19:29:29 GMT]]></title><description><![CDATA[<p>win32 schrieb:</p>
<blockquote>
<p>Tut mir leid, ich habe deine Post nicht ganz verstanden.</p>
<p>Ich will nur alle elemente von Backup in final speichern, doch dass das kopieren der Backup-Elemente erst beim 1. element von final anfängt.</p>
</blockquote>
<p>Du schreibst</p>
<pre><code class="language-cpp">Backup[i] = final[i+1];
</code></pre>
<p>und willst Backup in final kopieren?</p>
<p>Mit meinem Post wollte ich sagen, dass final.size() + 1 == Backup.size() gelten sollte.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2222182</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2222182</guid><dc:creator><![CDATA[wxSkip]]></dc:creator><pubDate>Mon, 11 Jun 2012 19:29:29 GMT</pubDate></item><item><title><![CDATA[Reply to Vector in Vector schreiben on Mon, 11 Jun 2012 19:33:08 GMT]]></title><description><![CDATA[<p>Achso als das ich final erst die gleiche größe zuweiße wie die von Backup damit ich nicht in nicht existierende elemente schreibe ?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2222184</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2222184</guid><dc:creator><![CDATA[win32]]></dc:creator><pubDate>Mon, 11 Jun 2012 19:33:08 GMT</pubDate></item><item><title><![CDATA[Reply to Vector in Vector schreiben on Mon, 11 Jun 2012 19:44:42 GMT]]></title><description><![CDATA[<p>win32 schrieb:</p>
<blockquote>
<p>Achso als das ich final erst die gleiche größe zuweiße wie die von Backup damit ich nicht in nicht existierende elemente schreibe ?</p>
</blockquote>
<p>Nein, eins größer, weil du ja das erste Element nicht überschreiben willst.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2222187</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2222187</guid><dc:creator><![CDATA[wxSkip]]></dc:creator><pubDate>Mon, 11 Jun 2012 19:44:42 GMT</pubDate></item><item><title><![CDATA[Reply to Vector in Vector schreiben on Tue, 12 Jun 2012 06:33:07 GMT]]></title><description><![CDATA[<p>Du schreibst, dass du final nicht überschreiben willst, schreibst aber in backup und nicht in final?</p>
<p>jedenfalls gibts 2 möglichkeiten:</p>
<pre><code class="language-cpp">std::vector&lt;std::string&gt; a, b;
/* a füllen */
b[0] = &quot;asd&quot;;
b.resize(a.size()+1);
for(auto i = a.begin(), e = a.end(); i != e; ++i)
  b = *a;
</code></pre>
<p>oder</p>
<pre><code class="language-cpp">std::vector&lt;std::string&gt; a, b;
/* a füllen */
b[0] = &quot;asd&quot;;
b.reserve(a.size()+1);
for(auto i = a.begin(), e = a.end(); i != e; ++i)
  b.push_back(*a);
</code></pre>
<p>natürlich kannst du die schleifen auch (mit std::copy) verstecken, falls dir das lieber ist.</p>
<p>bb</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2222249</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2222249</guid><dc:creator><![CDATA[unskilled]]></dc:creator><pubDate>Tue, 12 Jun 2012 06:33:07 GMT</pubDate></item><item><title><![CDATA[Reply to Vector in Vector schreiben on Tue, 12 Jun 2012 07:36:46 GMT]]></title><description><![CDATA[<p>win32 schrieb:</p>
<blockquote>
<p>ich versuch eine vector in den anderen zu schreiben.<br />
Bis jetzt hab ich das</p>
<pre><code class="language-cpp">std::vector&lt;std::string&gt; Backup,final;

for(int i = 0; i&lt;Backup.size(); i++) {
		 Backup[i] = final[i+1];
}
</code></pre>
<p>Das 0 Element von final ist schon beschrieben und ich möchte es nicht überschreiben, deswegen soll ein element von Backup immer ein element höher in final geschrieben werden.</p>
</blockquote>
<p>Das mit der Zuweisung funktioniert so, dass der Wert der rechten Seite dem Objekt der linken zugewiesen wird. Du kopierst hier also Werte aus final nach Backup und nicht umgekehrt.</p>
<p>win32 schrieb:</p>
<blockquote>
<p>Wenn ich das jetzt compeliere bekomme ich einen Fehler</p>
<blockquote>
<p>vector subscript out of range</p>
</blockquote>
</blockquote>
<p>Du kannst nur auf Vektorelemente zugreifen, die es auch gibt. &quot;out of range&quot; heißt hier, dass du einen Index <code>k</code> verwendest, für den nicht <code>0 &lt;= k &lt; dervector.size()</code> gilt. In Deinem Fall wahrscheinlich k=i+1 und dervector=final.</p>
<p>Eine Schleife musst du hier übrigens nicht selbst schreiben. Für ein solches Kopieren gibt es schon <code>std::copy</code> aus dem <code>&lt;algorithm&gt;</code> -Header.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2222269</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2222269</guid><dc:creator><![CDATA[krümelkacker]]></dc:creator><pubDate>Tue, 12 Jun 2012 07:36:46 GMT</pubDate></item><item><title><![CDATA[Reply to Vector in Vector schreiben on Tue, 12 Jun 2012 07:40:24 GMT]]></title><description><![CDATA[<p>win32 schrieb:</p>
<blockquote>
<p>Hat jemand einen anreiz?</p>
</blockquote>
<p><a href="http://www.cplusplus.com/reference/stl/vector/insert/" rel="nofollow">http://www.cplusplus.com/reference/stl/vector/insert/</a> - die dritte Variante.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2222272</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2222272</guid><dc:creator><![CDATA[pumuckl]]></dc:creator><pubDate>Tue, 12 Jun 2012 07:40:24 GMT</pubDate></item><item><title><![CDATA[Reply to Vector in Vector schreiben on Tue, 12 Jun 2012 19:00:41 GMT]]></title><description><![CDATA[<p>Ah nun ist mir einiges mehr klar.Danke an euch alle und besonders krümelkacker; hat mir sehr geholfen was du gepostet hast.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2222507</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2222507</guid><dc:creator><![CDATA[win32]]></dc:creator><pubDate>Tue, 12 Jun 2012 19:00:41 GMT</pubDate></item><item><title><![CDATA[Reply to Vector in Vector schreiben on Tue, 12 Jun 2012 20:16:15 GMT]]></title><description><![CDATA[<p><a class="plugin-mentions-user plugin-mentions-a" href="https://www.c-plusplus.net/forum/uid/16305">@unskilled</a>: Was sollen denn die Anweisungen in den Schleifen?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2222539</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2222539</guid><dc:creator><![CDATA[wxSkip]]></dc:creator><pubDate>Tue, 12 Jun 2012 20:16:15 GMT</pubDate></item><item><title><![CDATA[Reply to Vector in Vector schreiben on Wed, 13 Jun 2012 06:03:07 GMT]]></title><description><![CDATA[<p>wxSkip schrieb:</p>
<blockquote>
<p><a class="plugin-mentions-user plugin-mentions-a" href="https://www.c-plusplus.net/forum/uid/16305">@unskilled</a>: Was sollen denn die Anweisungen in den Schleifen?</p>
</blockquote>
<p>oha - ich nehm mal an, du meintest das hier:</p>
<pre><code class="language-cpp">std::vector&lt;std::string&gt; a, b;
/*...*/
for(auto i = a.begin(), e = a.end(); i != e; ++i) 
  b = *a;
</code></pre>
<p>ist natürlich ein wenig fail von mir gewesen. nachdenken 4tw <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>
<pre><code class="language-cpp">for(auto i = 0, e = a.size(); i != e; ++i)
  b[i+1] = a[i];
</code></pre>
<p>falls du was anderes meintest... weiß ich nicht, was du meinst^^</p>
<p>bb</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2222591</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2222591</guid><dc:creator><![CDATA[unskilled]]></dc:creator><pubDate>Wed, 13 Jun 2012 06:03:07 GMT</pubDate></item></channel></rss>