<?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[Bestimmte Elemente aus dem vector entfernen]]></title><description><![CDATA[<p>Hallo Leute,</p>
<p>ich will alle Z-Elemente aus meinem vector entfernen, deren Wert kleiner ist als eine Vorgabe.</p>
<p>Der vector ist schon vorgegeben und hat folgende Struktur: x1, y1, z1, x2 , y2 ... usw.</p>
<pre><code class="language-cpp">void BodenAbschneiden( double grenze , std::vector&lt;float&gt; &amp;wolke) const
{
	for( vector&lt;float&gt;::iterator i = wolke.begin() ; i != wolke.end() ; i++ )
	{
		if( *( i + 2 ) &gt; grenze )
		{
			// ganzen Punkt (3 Werte löschen)
			i = i.erase( i , i + 2 );
		}
		else
		{
			// Springe zum nächsten Punkt
			i++;
			i++;
		}
	}
}
</code></pre>
<p>Jetzt habe ich zwei Probleme:</p>
<ol>
<li>
<p>Ich weiß nicht ob man während einem durchlauf Elemente aus dem Vektor löschen kann.</p>
</li>
<li>
<p>VS2010 sagt, das die Funktion erase nicht existiert.</p>
</li>
</ol>
<p>Könnte jemand bitte Helfen? Danke</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/308480/bestimmte-elemente-aus-dem-vector-entfernen</link><generator>RSS for Node</generator><lastBuildDate>Wed, 05 Aug 2026 18:05:45 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/308480.rss" rel="self" type="application/rss+xml"/><pubDate>Wed, 26 Sep 2012 13:09:15 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Bestimmte Elemente aus dem vector entfernen on Wed, 26 Sep 2012 13:09:15 GMT]]></title><description><![CDATA[<p>Hallo Leute,</p>
<p>ich will alle Z-Elemente aus meinem vector entfernen, deren Wert kleiner ist als eine Vorgabe.</p>
<p>Der vector ist schon vorgegeben und hat folgende Struktur: x1, y1, z1, x2 , y2 ... usw.</p>
<pre><code class="language-cpp">void BodenAbschneiden( double grenze , std::vector&lt;float&gt; &amp;wolke) const
{
	for( vector&lt;float&gt;::iterator i = wolke.begin() ; i != wolke.end() ; i++ )
	{
		if( *( i + 2 ) &gt; grenze )
		{
			// ganzen Punkt (3 Werte löschen)
			i = i.erase( i , i + 2 );
		}
		else
		{
			// Springe zum nächsten Punkt
			i++;
			i++;
		}
	}
}
</code></pre>
<p>Jetzt habe ich zwei Probleme:</p>
<ol>
<li>
<p>Ich weiß nicht ob man während einem durchlauf Elemente aus dem Vektor löschen kann.</p>
</li>
<li>
<p>VS2010 sagt, das die Funktion erase nicht existiert.</p>
</li>
</ol>
<p>Könnte jemand bitte Helfen? Danke</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2254598</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2254598</guid><dc:creator><![CDATA[blablub123]]></dc:creator><pubDate>Wed, 26 Sep 2012 13:09:15 GMT</pubDate></item><item><title><![CDATA[Reply to Bestimmte Elemente aus dem vector entfernen on Wed, 26 Sep 2012 13:12:25 GMT]]></title><description><![CDATA[<p>Der iterator loescht keine Elemente, das macht der vector. Daher muss es heissen:</p>
<pre><code class="language-cpp">i = wolke.erase(i, i + 2);
</code></pre>
<p>Und ja, du kannst waehrend des Iterierens Elemente loeschen, dazu ist der Rueckgabewert von erase naemlich da.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2254601</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2254601</guid><dc:creator><![CDATA[Kellerautomat]]></dc:creator><pubDate>Wed, 26 Sep 2012 13:12:25 GMT</pubDate></item><item><title><![CDATA[Reply to Bestimmte Elemente aus dem vector entfernen on Wed, 26 Sep 2012 13:22:15 GMT]]></title><description><![CDATA[<p>Unter Umständen musst du auch das i++ noch aus dem Schleifenkopf nehmen und stattdessen in das else packen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2254605</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2254605</guid><dc:creator><![CDATA[gdfgdfg]]></dc:creator><pubDate>Wed, 26 Sep 2012 13:22:15 GMT</pubDate></item><item><title><![CDATA[Reply to Bestimmte Elemente aus dem vector entfernen on Wed, 26 Sep 2012 13:27:12 GMT]]></title><description><![CDATA[<p>Sicher, dass du nicht eine Struktur (o. Tupel) mit diesen Drei Werten haben willst?</p>
<p>Wie auch immer...</p>
<pre><code class="language-cpp">for(unsigned i = 2; i &lt; wolke.size();i += 2)
    wolke.erase(wolke.begin() + i);
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/2254608</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2254608</guid><dc:creator><![CDATA[Sone_logoff]]></dc:creator><pubDate>Wed, 26 Sep 2012 13:27:12 GMT</pubDate></item><item><title><![CDATA[Reply to Bestimmte Elemente aus dem vector entfernen on Wed, 26 Sep 2012 15:49:54 GMT]]></title><description><![CDATA[<p>Habs hingekriet. Danke an alle Antwortenden.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2254670</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2254670</guid><dc:creator><![CDATA[blablub123]]></dc:creator><pubDate>Wed, 26 Sep 2012 15:49:54 GMT</pubDate></item></channel></rss>