<?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[Wer macht mein Schleifenkonstrukt schöner]]></title><description><![CDATA[<p>Um dieses Gebilde geht es:</p>
<pre><code class="language-cpp">for(unsigned int i=0; i&lt;m_vector.size(); ++i)
{
	bool valid = false;
	CONTENT content;

	while(!valid)
	{
		valid   = true;
		content = rand()%13;

		for(unsigned int j=0; j &lt; m_vector.size(); ++j)
		{
			if(m_vector[j] &amp;&amp; m_vector[j]-&gt;GetContent() == content)
				valid = false;
		}
	}

	// Mach was mit der Variablen &quot;content&quot;
}
</code></pre>
<p>Kann man das auch schöner hinbekommen, falls ja wie <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f4a1.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--light_bulb"
      title=":bulb:"
      alt="💡"
    /> Wäre dankbar dafür <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f60b.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--face_savoring_food"
      title=":yum:"
      alt="😋"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/topic/118324/wer-macht-mein-schleifenkonstrukt-schöner</link><generator>RSS for Node</generator><lastBuildDate>Fri, 21 Aug 2026 09:25:41 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/118324.rss" rel="self" type="application/rss+xml"/><pubDate>Wed, 17 Aug 2005 11:37:09 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Wer macht mein Schleifenkonstrukt schöner on Wed, 17 Aug 2005 11:37:09 GMT]]></title><description><![CDATA[<p>Um dieses Gebilde geht es:</p>
<pre><code class="language-cpp">for(unsigned int i=0; i&lt;m_vector.size(); ++i)
{
	bool valid = false;
	CONTENT content;

	while(!valid)
	{
		valid   = true;
		content = rand()%13;

		for(unsigned int j=0; j &lt; m_vector.size(); ++j)
		{
			if(m_vector[j] &amp;&amp; m_vector[j]-&gt;GetContent() == content)
				valid = false;
		}
	}

	// Mach was mit der Variablen &quot;content&quot;
}
</code></pre>
<p>Kann man das auch schöner hinbekommen, falls ja wie <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f4a1.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--light_bulb"
      title=":bulb:"
      alt="💡"
    /> Wäre dankbar dafür <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f60b.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--face_savoring_food"
      title=":yum:"
      alt="😋"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/854111</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/854111</guid><dc:creator><![CDATA[^^]]></dc:creator><pubDate>Wed, 17 Aug 2005 11:37:09 GMT</pubDate></item><item><title><![CDATA[Reply to Wer macht mein Schleifenkonstrukt schöner on Wed, 17 Aug 2005 11:49:26 GMT]]></title><description><![CDATA[<p>Bitte erkläre mal den Sinn des Ganzen. Die Laufvariable i der äußeren for-Schleife wird überhaupt nicht verwendet, und im inneren erzeugst du sooft eine neue Zufallszahl, bis sie mit dem Inhalt eines Elements eines Vektors übereinstimmt, und verwendest sie dann weiter. Wenn du nur ein zufälliges Element aus dem Vektor haben willst, indiziere ihn besser direkt mit einer Zufallszahl.</p>
<p>Moritz</p>
]]></description><link>https://www.c-plusplus.net/forum/post/854126</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/854126</guid><dc:creator><![CDATA[audacia]]></dc:creator><pubDate>Wed, 17 Aug 2005 11:49:26 GMT</pubDate></item><item><title><![CDATA[Reply to Wer macht mein Schleifenkonstrukt schöner on Wed, 17 Aug 2005 11:52:19 GMT]]></title><description><![CDATA[<p>audacia schrieb:</p>
<blockquote>
<p>Bitte erkläre mal den Sinn des Ganzen. Die Laufvariable i der äußeren for-Schleife wird überhaupt nicht verwendet,</p>
</blockquote>
<p>Doch, am Ende, ich habs hinzugefügt.</p>
<p>audacia schrieb:</p>
<blockquote>
<p>und im inneren erzeugst du sooft eine neue Zufallszahl, bis sie mit dem Inhalt eines Elements eines Vektors übereinstimmt, und verwendest sie dann weiter. Wenn du nur ein zufälliges Element aus dem Vektor haben willst, indiziere ihn besser direkt mit einer Zufallszahl.<br />
Moritz</p>
</blockquote>
<p>Falsch, ich erzeuge solange eine Zufallszahl bis sie mit KEINEM Vektorelement übereinstimmt.</p>
<pre><code class="language-cpp">for(unsigned int i=0; i&lt;m_vector.size(); ++i)
{
    bool valid = false;
    CONTENT content;

    while(!valid)
    {
        valid   = true;
        content = rand()%13;

        for(unsigned int j=0; j &lt; m_vector.size(); ++j)
        {
            if(m_vector[j] &amp;&amp; m_vector[j]-&gt;GetContent() == content)
                valid = false;
        }
    }

    // Mach was mit der Variablen &quot;content&quot;
    // Mach was mit der Variablen &quot;i&quot;
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/854132</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/854132</guid><dc:creator><![CDATA[^^]]></dc:creator><pubDate>Wed, 17 Aug 2005 11:52:19 GMT</pubDate></item><item><title><![CDATA[Reply to Wer macht mein Schleifenkonstrukt schöner on Wed, 17 Aug 2005 12:04:06 GMT]]></title><description><![CDATA[<pre><code class="language-cpp">for(unsigned int i=0; i&lt;m_vector.size(); ++i)
{
    bool valid = false;
    CONTENT content;

    while(!valid)
    {
        valid   = true;
        content = rand()%13;

        for(unsigned int j=0; j &lt; m_vector.size(); ++j)
            if(m_vector[j] &amp;&amp; m_vector[j]-&gt;GetContent() == content)
            {
                valid = false;
                //wenn valid einmal false ist, bleibt es das für die restlichen Elemente auch, also kann man die for-Schleife hier abbrechen
                break;
            }
    }

    // Mach was mit der Variablen &quot;content&quot;
    // Mach was mit der Variablen &quot;i&quot;
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/854145</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/854145</guid><dc:creator><![CDATA[invalid]]></dc:creator><pubDate>Wed, 17 Aug 2005 12:04:06 GMT</pubDate></item><item><title><![CDATA[Reply to Wer macht mein Schleifenkonstrukt schöner on Wed, 17 Aug 2005 12:07:37 GMT]]></title><description><![CDATA[<p>Wieso das? Wenn danach ein Vectorelement kommt wo sie doch gleich sind dann funktioniert das ganze nicht mehr.</p>
<p>Aber vielleicht ist das auch schwierig eine Schleife zu optimieren wenn man den Hintergrund nicht kennt, dass gebe ich zu <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/854149</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/854149</guid><dc:creator><![CDATA[^^]]></dc:creator><pubDate>Wed, 17 Aug 2005 12:07:37 GMT</pubDate></item><item><title><![CDATA[Reply to Wer macht mein Schleifenkonstrukt schöner on Wed, 17 Aug 2005 12:11:23 GMT]]></title><description><![CDATA[<p>^^ schrieb:</p>
<blockquote>
<p>Wieso das? Wenn danach ein Vectorelement kommt wo sie doch gleich sind dann funktioniert das ganze nicht mehr.</p>
</blockquote>
<p>hö?Ich denke invalid hat gesagt wenn du einmal die if bedinung erfüllst, kannst du<br />
die Schleife abbrechen; und das simmt. Denn wenn dein bool schon false ist, ist es egal ob ein weiterer vergleich ihn nochmal auf false setzten würde, es würde sich nichts ändern und somit ist ein break doch sinnvoll, oder ?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/854153</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/854153</guid><dc:creator><![CDATA[shapeless]]></dc:creator><pubDate>Wed, 17 Aug 2005 12:11:23 GMT</pubDate></item><item><title><![CDATA[Reply to Wer macht mein Schleifenkonstrukt schöner on Wed, 17 Aug 2005 12:12:51 GMT]]></title><description><![CDATA[<p>also ich versteh des ganze auch net,<br />
wenn die zufallszhal auf kein vector-element verweisen soll,<br />
warum dann nicht sowas in der art<br />
content = rand()%13 + m_vector.size() ?<br />
Was hast du mit der variablen i vor?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/854155</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/854155</guid><dc:creator><![CDATA[rene1]]></dc:creator><pubDate>Wed, 17 Aug 2005 12:12:51 GMT</pubDate></item><item><title><![CDATA[Reply to Wer macht mein Schleifenkonstrukt schöner on Wed, 17 Aug 2005 12:16:50 GMT]]></title><description><![CDATA[<p>Ihr habt Recht, mein Fehler <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f61e.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--disappointed_face"
      title=":("
      alt="😞"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/854160</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/854160</guid><dc:creator><![CDATA[^^]]></dc:creator><pubDate>Wed, 17 Aug 2005 12:16:50 GMT</pubDate></item><item><title><![CDATA[Reply to Wer macht mein Schleifenkonstrukt schöner on Wed, 17 Aug 2005 12:57:20 GMT]]></title><description><![CDATA[<p>^^ schrieb:</p>
<blockquote>
<p>Kann man das auch schöner hinbekommen, falls ja wie <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f4a1.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--light_bulb"
      title=":bulb:"
      alt="💡"
    /> Wäre dankbar dafür <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f60b.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--face_savoring_food"
      title=":yum:"
      alt="😋"
    /></p>
</blockquote>
<p>Was ist 'schön'? Das vielleicht:</p>
<pre><code class="language-cpp">struct ContentSchonDa
{
    ContentSchonDa( CONTENT c ) : m_c( c ) {}
    bool operator()( const Foo* foo  ) const // Foo sei die Klasse in m_vector
    {
        return foo &amp;&amp; foo-&gt;GetContent() == m_c;
    }
private:
    CONTENT m_c;
};

    for( unsigned int i=0; i&lt;m_vector.size(); ++i )
    {
        CONTENT content;
        do {
            content = rand()%13;
        } while( std::find_if( m_vector.begin(), m_vector.end(), 
                ContentSchonDa( content ) ) != m_vector.end() );

        // Mach was mit der Variablen &quot;content&quot;
        // Mach was mit der Variablen &quot;i&quot;
    }
</code></pre>
<p>Wenn Du uns noch sagst, ob Du innerhalb der Schleife auch noch 'm_vector' änderst, bzw. eines der Elemente darin, so geht's vielleicht noch 'schöner'</p>
<p>Gruß<br />
Werner</p>
]]></description><link>https://www.c-plusplus.net/forum/post/854202</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/854202</guid><dc:creator><![CDATA[Werner Salomon]]></dc:creator><pubDate>Wed, 17 Aug 2005 12:57:20 GMT</pubDate></item></channel></rss>