<?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[Anfängerproblem mit STL und vectoren]]></title><description><![CDATA[<p>Hallo,<br />
ich möchte das würfeln mit 5 Würfeln simulieren, bei 3 versuchen.<br />
Die 5 Zufallszahlen zu bekommen und einem vector zuzuweisen ist<br />
ja kein Problem, dann die zuhaltenden Würfel auszuwählen auch nicht.<br />
Aber dann möchte ich die zuhaltenden Würfel gerne in einen anderen<br />
vector verschieben und aus dem ursprünglichen vector löschen.</p>
<p>Irgendwie habe ich aber k.A. wie ich das hinbekomme. Ich habe mir<br />
schon die STL-Algorithmen remove_copy, copy und remove angeschaut<br />
aber das ganze nicht hinbekommen(verstanden). Da ich ganz am Anfang<br />
stehe mit dem C++ lernen wäre ich sehr dankbar wenn ich einen möglichst<br />
leicht zu verstehenden Denkanstoss erhalten könnte.<br />
Bin ich da überhaupt auf dem richtigen Wege, mit einem vector oder<br />
muss ich das ganz anders angehen?</p>
<p>Vielen Dank<br />
sowatt</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/134293/anfängerproblem-mit-stl-und-vectoren</link><generator>RSS for Node</generator><lastBuildDate>Fri, 28 Aug 2026 11:36:20 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/134293.rss" rel="self" type="application/rss+xml"/><pubDate>Wed, 25 Jan 2006 04:14:08 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Anfängerproblem mit STL und vectoren on Wed, 25 Jan 2006 04:14:08 GMT]]></title><description><![CDATA[<p>Hallo,<br />
ich möchte das würfeln mit 5 Würfeln simulieren, bei 3 versuchen.<br />
Die 5 Zufallszahlen zu bekommen und einem vector zuzuweisen ist<br />
ja kein Problem, dann die zuhaltenden Würfel auszuwählen auch nicht.<br />
Aber dann möchte ich die zuhaltenden Würfel gerne in einen anderen<br />
vector verschieben und aus dem ursprünglichen vector löschen.</p>
<p>Irgendwie habe ich aber k.A. wie ich das hinbekomme. Ich habe mir<br />
schon die STL-Algorithmen remove_copy, copy und remove angeschaut<br />
aber das ganze nicht hinbekommen(verstanden). Da ich ganz am Anfang<br />
stehe mit dem C++ lernen wäre ich sehr dankbar wenn ich einen möglichst<br />
leicht zu verstehenden Denkanstoss erhalten könnte.<br />
Bin ich da überhaupt auf dem richtigen Wege, mit einem vector oder<br />
muss ich das ganz anders angehen?</p>
<p>Vielen Dank<br />
sowatt</p>
]]></description><link>https://www.c-plusplus.net/forum/post/975491</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/975491</guid><dc:creator><![CDATA[sowatt]]></dc:creator><pubDate>Wed, 25 Jan 2006 04:14:08 GMT</pubDate></item><item><title><![CDATA[Reply to Anfängerproblem mit STL und vectoren on Wed, 25 Jan 2006 04:50:54 GMT]]></title><description><![CDATA[<p>der ansatz mit der klasse vector ist ok. das entfernen von elementen eines vectors geht mit der methode erase(). du muss aber darauf achten, daß du den rückgabewert von erase() benutzt, um das nächste element im vector zu bestimmen. das machen viele anfänger falsch.</p>
<pre><code class="language-cpp">vector&lt;int&gt;
elemente_auswaehlen (vector&lt;int&gt; &amp;wuerfe)
{
  vector&lt;int&gt; ergebnis;

  for(vector&lt;int&gt;::iterator i=wuerfe.begin(); i!=wuerfe.end(); /da kommt NIX hin */)
    if(&lt;*i auswählen&gt;)
    {
      ergebnis.push_back(*i);
      i=wuerfe.erase(i); // wenn element gelöscht wird, dann nächstes element gleich
                         // rückgabewert von erase()
    }
    else ++i;            // anderenfalls nächstes element auf normalem wege bestimmen

  return ergebnis;
}
</code></pre>
<p>wenn du genauer beschreiben würdest, nach welchem verfahren du die zahlen auswählen willst, dann könnte ich dir genaueres sagen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/975493</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/975493</guid><dc:creator><![CDATA[Konfusius (off)]]></dc:creator><pubDate>Wed, 25 Jan 2006 04:50:54 GMT</pubDate></item><item><title><![CDATA[Reply to Anfängerproblem mit STL und vectoren on Wed, 25 Jan 2006 05:11:02 GMT]]></title><description><![CDATA[<p>Ich habe bisher gedacht das folgendermaßen zu machen:</p>
<pre><code class="language-cpp">cout &lt;&lt; &quot;Welche Wuerfel werden gehalten?&quot; &lt;&lt; endl;
cout &lt;&lt; &quot;Bitte die Zahlen der Wuerfel eingeben, Ende mit Buchstabeneingabe!&quot; &lt;&lt; endl;
for( i = 0; i &lt;= MAXANZ &amp;&amp; cin &gt;&gt; x; ++i )
     hold.push_back(x);

cout &lt;&lt; &quot;Die gehaltenen Wuerfel\n&quot; &lt;&lt; endl;

for( i = 0; i &lt; hold.size(); i++ )
	cout &lt;&lt; hold[i] &lt;&lt; endl;

anz = 5 - hold.size();
cout &lt;&lt; &quot;Die Anzahl der Wuerfel fuer den naechsten Wurf : &quot; &lt;&lt; anz &lt;&lt; endl;
</code></pre>
<p>Dann würde ich gerne mit den verbleibenden Würfeln weitermachen, also alle<br />
die nicht x sind.</p>
<p>Vielen Dank<br />
sowatt</p>
]]></description><link>https://www.c-plusplus.net/forum/post/975494</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/975494</guid><dc:creator><![CDATA[sowatt]]></dc:creator><pubDate>Wed, 25 Jan 2006 05:11:02 GMT</pubDate></item><item><title><![CDATA[Reply to Anfängerproblem mit STL und vectoren on Wed, 25 Jan 2006 08:41:50 GMT]]></title><description><![CDATA[<p>die funktion wuerfel_halten() entfernt alle nicht zu haltenden würfel aus dem übergebenen vector wuerfel und gibt einen vector der gehaltenen würfel zurück.</p>
<pre><code class="language-cpp">vector&lt;int&gt;
wuerfel_halten (vector&lt;int&gt; &amp;wuerfel, const vector&lt;int&gt; &amp;halten)
{
  vector&lt;int&gt; gehalten;

  for(vector&lt;int&gt;::iterator i=wuerfel.begin(), int pos=0; i!=wuerfel.end(); ++pos)
    if(find(halten.begin(),halten.end(),pos)==halten.end())
      i=wuerfel.erase(i);
    else
      gehalten.push_back(*i++)

  return gehalten;
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/975610</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/975610</guid><dc:creator><![CDATA[Konfusius]]></dc:creator><pubDate>Wed, 25 Jan 2006 08:41:50 GMT</pubDate></item><item><title><![CDATA[Reply to Anfängerproblem mit STL und vectoren on Wed, 25 Jan 2006 14:23:03 GMT]]></title><description><![CDATA[<p>Vielen Dank für den Tipp, das funktioniert jetzt.</p>
<p>MfG<br />
sowatt</p>
]]></description><link>https://www.c-plusplus.net/forum/post/976003</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/976003</guid><dc:creator><![CDATA[sowatt]]></dc:creator><pubDate>Wed, 25 Jan 2006 14:23:03 GMT</pubDate></item></channel></rss>