<?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[Zwei unterschiedliche zufallszahlen erzeugen.]]></title><description><![CDATA[<p>Hallo ihr,<br />
Ich habe ein Problem, und nach langem suchen nicht wirklich was gefunden. Ich muss zwei Zufallszahlen direkt hintereinander erzeugen. Das Problem ist das aktuell beide zahlen gleich sind. Auch sollen die zahlen nicht in Abhängigkeit stehen. Hat jemand eine Idee wie ich das am besten lösen kann?</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/240130/zwei-unterschiedliche-zufallszahlen-erzeugen</link><generator>RSS for Node</generator><lastBuildDate>Tue, 22 Sep 2026 06:52:32 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/240130.rss" rel="self" type="application/rss+xml"/><pubDate>Sat, 02 May 2009 13:18:46 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Zwei unterschiedliche zufallszahlen erzeugen. on Sat, 02 May 2009 13:18:46 GMT]]></title><description><![CDATA[<p>Hallo ihr,<br />
Ich habe ein Problem, und nach langem suchen nicht wirklich was gefunden. Ich muss zwei Zufallszahlen direkt hintereinander erzeugen. Das Problem ist das aktuell beide zahlen gleich sind. Auch sollen die zahlen nicht in Abhängigkeit stehen. Hat jemand eine Idee wie ich das am besten lösen kann?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1704438</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1704438</guid><dc:creator><![CDATA[Dreadis]]></dc:creator><pubDate>Sat, 02 May 2009 13:18:46 GMT</pubDate></item><item><title><![CDATA[Reply to Zwei unterschiedliche zufallszahlen erzeugen. on Sat, 02 May 2009 13:20:19 GMT]]></title><description><![CDATA[<p>Dreadis schrieb:</p>
<blockquote>
<p>Hallo ihr,<br />
Ich habe ein Problem, und nach langem suchen nicht wirklich was gefunden. Ich muss zwei Zufallszahlen direkt hintereinander erzeugen. Das Problem ist das aktuell beide zahlen gleich sind. Auch sollen die zahlen nicht in Abhängigkeit stehen. Hat jemand eine Idee wie ich das am besten lösen kann?</p>
</blockquote>
<p>Pseudo-Zufallszahlen sind _immer_ abhängig von einander...<br />
Zeig mal deinen Aufruf - ich wette ja, dass wir nur eine Zeile verschieben oder ganz löschen müssen und dann gehts ^^</p>
<p>bb</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1704439</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1704439</guid><dc:creator><![CDATA[unskilled]]></dc:creator><pubDate>Sat, 02 May 2009 13:20:19 GMT</pubDate></item><item><title><![CDATA[Reply to Zwei unterschiedliche zufallszahlen erzeugen. on Sat, 02 May 2009 13:20:27 GMT]]></title><description><![CDATA[<p>zeig mal dein code</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1704440</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1704440</guid><dc:creator><![CDATA[ach]]></dc:creator><pubDate>Sat, 02 May 2009 13:20:27 GMT</pubDate></item><item><title><![CDATA[Reply to Zwei unterschiedliche zufallszahlen erzeugen. on Sat, 02 May 2009 13:27:38 GMT]]></title><description><![CDATA[<p>Dreadis schrieb:</p>
<blockquote>
<p>Hallo ihr,<br />
Ich habe ein Problem, und nach langem suchen nicht wirklich was gefunden. Ich muss zwei Zufallszahlen direkt hintereinander erzeugen. Das Problem ist das aktuell beide zahlen gleich sind. Auch sollen die zahlen nicht in Abhängigkeit stehen. Hat jemand eine Idee wie ich das am besten lösen kann?</p>
</blockquote>
<p>meine kristallkugel sagt mir, daß du</p>
<pre><code class="language-cpp">srand(time(0));
int x1=rand()%6+1;
...
srand(time(0));
int x2=rand()%6+1;
</code></pre>
<p>machst.<br />
das ist falsch.</p>
<p>richtig ist</p>
<pre><code class="language-cpp">int main()
{
   srand(time(0));//nur einmal im prog, nämlich am anfang der main()
...
...
int x1=rand()%6+1;
...
int x2=rand()%6+1;
</code></pre>
<p>jetzt sind die beiden zahlen quasi unabhängig von einander. sie können zufällig auch mal gleich sein.</p>
<p>willste sie auf ungleichheit zwingen, dann zum beispiel so:</p>
<pre><code class="language-cpp">int main()
{
   srand(time(0));//nur einmal im prog, nämlich am anfang der main()
...
...
int x1=rand()%6+1;
...
int x2;
do x2=rand()%6+1; while(x2==x1);
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1704445</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1704445</guid><dc:creator><![CDATA[volkard]]></dc:creator><pubDate>Sat, 02 May 2009 13:27:38 GMT</pubDate></item><item><title><![CDATA[Reply to Zwei unterschiedliche zufallszahlen erzeugen. on Sat, 02 May 2009 13:33:36 GMT]]></title><description><![CDATA[<p>volkard schrieb:</p>
<blockquote>
<pre><code class="language-cpp">int main()
{
   srand(time(0));//nur einmal im prog, nämlich am anfang der main()
...
...
int x1=rand()%6+1;
...
int x2;
do x2=rand()%6+1; while(x2==x1);
</code></pre>
</blockquote>
<p>mir wollte hier mal einer erzählen, dass das ganz schlimm ist, weil das theoretisch nie terminieren könnte.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1704449</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1704449</guid><dc:creator><![CDATA[hehe]]></dc:creator><pubDate>Sat, 02 May 2009 13:33:36 GMT</pubDate></item><item><title><![CDATA[Reply to Zwei unterschiedliche zufallszahlen erzeugen. on Sat, 02 May 2009 13:41:06 GMT]]></title><description><![CDATA[<p>hehe schrieb:</p>
<blockquote>
<p>mir wollte hier mal einer erzählen, dass das ganz schlimm ist, weil das theoretisch nie terminieren könnte.</p>
</blockquote>
<p>Nicht bei einem linearen Kongruenzgenerator wie dem <code>rand()</code> . <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>Wenn man allerdings plötzlich 1000 unterschiedliche Zufallszahlen zwischen 1 und 10000 haben will, sollte man sich ein effizienteres Verfahren überlegen, da der Rechenaufwand von oben genanntem sehr schnell ansteigt. Ein Ansatz wäre, alle Zahlen in einem Container zu speichern, diesen mit <code>std::random_shuffle()</code> durchmischen und die gewünschte Anzahl Zufallszahlen am Anfang oder Ende auszulesen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1704453</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1704453</guid><dc:creator><![CDATA[Nexus]]></dc:creator><pubDate>Sat, 02 May 2009 13:41:06 GMT</pubDate></item><item><title><![CDATA[Reply to Zwei unterschiedliche zufallszahlen erzeugen. on Sat, 02 May 2009 13:51:06 GMT]]></title><description><![CDATA[<p>Nur mal so aus neugier...<br />
Ich hasse die rand() funktion und man hat hier, wenn ich mich nicht irre, mir gerade eine alternative dazu geboten. wie soll das mit shuffle den Funktionieren ? Denn rand(); kann man knicken.<br />
1. fängt immer mit selber zahl an und geht dann immer so weiter.<br />
2. natürlicher upper bound = 36??? das ist banane<br />
3. diese rand würde nur lohnen, wenn die anfangszahl immer unterschiedlich ist</p>
<p>mit shuffle ist das sicherlich genauso unzufällig, aber punkt 2 müsste damit doch auszuschalten sein. (bei rand geht das mit berechnungen auch, ist aber doof)<br />
[code beispiel ?]</p>
<p>dieser &quot;kontainer&quot;, ist das einfeich eine variable, die man definieren kann ?</p>
<p>danke</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1704457</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1704457</guid><dc:creator><![CDATA[5cript]]></dc:creator><pubDate>Sat, 02 May 2009 13:51:06 GMT</pubDate></item><item><title><![CDATA[Reply to Zwei unterschiedliche zufallszahlen erzeugen. on Sat, 02 May 2009 14:00:57 GMT]]></title><description><![CDATA[<p>Tim06TR schrieb:</p>
<blockquote>
<p>Nur mal so aus neugier...<br />
Ich hasse die rand() funktion und man hat hier, wenn ich mich nicht irre, mir gerade eine alternative dazu geboten. wie soll das mit shuffle den Funktionieren ? Denn rand(); kann man knicken.</p>
</blockquote>
<p>1. Wieso hasst du <code>rand()</code> ? Aus Prinzip, wegen Gerüchten, oder begründet? <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="😉"
    /><br />
2. <code>std::random_shuffle()</code> verwendet intern <code>rand()</code> , es sei denn, du übergibst ein spezielles Prädikat.<br />
3. Mehr Infos zu dieser Funktion unter <a href="http://www.cplusplus.com/reference/algorithm/random_shuffle/" rel="nofollow">http://www.cplusplus.com/reference/algorithm/random_shuffle/</a>.</p>
<p>Tim06TR schrieb:</p>
<blockquote>
<p>1. fängt immer mit selber zahl an und geht dann immer so weiter.</p>
</blockquote>
<p>Du hast aber von <code>srand()</code> gelesen?</p>
<p>Tim06TR schrieb:</p>
<blockquote>
<p>2. natürlicher upper bound = 36??? das ist banane</p>
</blockquote>
<p>Wie kommst du denn auf sowas?</p>
<p>Tim06TR schrieb:</p>
<blockquote>
<p>3. diese rand würde nur lohnen, wenn die anfangszahl immer unterschiedlich ist</p>
</blockquote>
<p>Überschneidet sich mit Punkt 1.</p>
<p>Tim06TR schrieb:</p>
<blockquote>
<p>dieser &quot;kontainer&quot;, ist das einfeich eine variable, die man definieren kann ?</p>
</blockquote>
<p>Du musst noch viel lernen. <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="🙂"
    /><br />
Container sind Sammlungen von mehreren Elementen gleichen Typs, also etwas Ähnliches wie Arrays.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1704461</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1704461</guid><dc:creator><![CDATA[Nexus]]></dc:creator><pubDate>Sat, 02 May 2009 14:00:57 GMT</pubDate></item><item><title><![CDATA[Reply to Zwei unterschiedliche zufallszahlen erzeugen. on Sat, 02 May 2009 14:01:21 GMT]]></title><description><![CDATA[<p><a href="http://www.cplusplus.com/reference/stl/" rel="nofollow">http://www.cplusplus.com/reference/stl/</a><br />
Hier hast du alle <strong>C</strong>ontainer die C++ bietet.<br />
Und hier eine beschreibung mit Beispiel zu <code>std::random_shuffle()</code><br />
<a href="http://www.cplusplus.com/reference/algorithm/random_shuffle/" rel="nofollow">http://www.cplusplus.com/reference/algorithm/random_shuffle/</a></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1704462</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1704462</guid><dc:creator><![CDATA[Firefighter]]></dc:creator><pubDate>Sat, 02 May 2009 14:01:21 GMT</pubDate></item><item><title><![CDATA[Reply to Zwei unterschiedliche zufallszahlen erzeugen. on Sat, 02 May 2009 14:06:16 GMT]]></title><description><![CDATA[<p>Nexus schrieb:</p>
<blockquote>
<p>Tim06TR schrieb:<br />
2. natürlicher upper bound = 36??? das ist banane<br />
Wie kommst du denn auf sowas?</p>
</blockquote>
<p>hab ich gelesen</p>
<p>Nexus schrieb:</p>
<blockquote>
<p>Du musst noch viel lernen. <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>
</blockquote>
<p>richtig ! ich bin dabei.</p>
<p>Nexus schrieb:</p>
<blockquote>
<p>Du hast aber von srand() gelesen?</p>
</blockquote>
<p>oookkkkaaaayyyy.<br />
ähm das ändert natürlich einiges, darauf bin ich erst in diesem thread gestoßen</p>
<p>Nexus schrieb:</p>
<blockquote>
<p>3. Mehr Infos zu dieser Funktion unter <a href="http://www.cplusplus.com/reference/algorithm/random_shuffle/" rel="nofollow">http://www.cplusplus.com/reference/algorithm/random_shuffle/</a>.</p>
</blockquote>
<p>ok das hilft sehr danke</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1704463</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1704463</guid><dc:creator><![CDATA[5cript]]></dc:creator><pubDate>Sat, 02 May 2009 14:06:16 GMT</pubDate></item><item><title><![CDATA[Reply to Zwei unterschiedliche zufallszahlen erzeugen. on Sat, 02 May 2009 14:11:20 GMT]]></title><description><![CDATA[<p>Tim06TR schrieb:</p>
<blockquote>
<p>hab ich gelesen</p>
</blockquote>
<p>Wo denn? <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>
<p>Obere Grenze von <code>rand()</code> sollte <code>RAND_MAX</code> entsprechen. Und das müsste grösser gleich 32767 sein.</p>
<p>Tim06TR schrieb:</p>
<blockquote>
<p>ok das hilft sehr danke</p>
</blockquote>
<p>Ich würde mir <a href="http://www.cplusplus.com" rel="nofollow">www.cplusplus.com</a> sowieso merken. Ich finde, diese Seite gibt einem eine sehr gute Übersicht über die Standardbibliothek. Wenn du etwas aus <code>std</code> nicht kennst, sollte das die erste Anlaufstelle sein.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1704466</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1704466</guid><dc:creator><![CDATA[Nexus]]></dc:creator><pubDate>Sat, 02 May 2009 14:11:20 GMT</pubDate></item><item><title><![CDATA[Reply to Zwei unterschiedliche zufallszahlen erzeugen. on Sat, 02 May 2009 14:14:37 GMT]]></title><description><![CDATA[<p>Nexus schrieb:</p>
<blockquote>
<p>Tim06TR schrieb:</p>
<blockquote>
<p>hab ich gelesen</p>
</blockquote>
<p>Wo denn? <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>
<p>Obere Grenze von <code>rand()</code> sollte <code>RAND_MAX</code> entsprechen. Und das müsste grösser gleich 32767 sein.</p>
</blockquote>
<p>na, so ziemlich das was Tim06TR sagt.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1704469</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1704469</guid><dc:creator><![CDATA[obohon]]></dc:creator><pubDate>Sat, 02 May 2009 14:14:37 GMT</pubDate></item><item><title><![CDATA[Reply to Zwei unterschiedliche zufallszahlen erzeugen. on Sat, 02 May 2009 15:38:25 GMT]]></title><description><![CDATA[<p>volkard schrieb:</p>
<blockquote>
<p>meine kristallkugel sagt mir, daß du</p>
<pre><code class="language-cpp">srand(time(0));
int x1=rand()%6+1;
...
srand(time(0));
int x2=rand()%6+1;
</code></pre>
<p>machst.<br />
das ist falsch.</p>
<p>richtig ist</p>
<pre><code class="language-cpp">int main()
{
   srand(time(0));//nur einmal im prog, nämlich am anfang der main()
...
...
int x1=rand()%6+1;
...
int x2=rand()%6+1;
</code></pre>
</blockquote>
<p>Hallo volkard,<br />
Danke für die Antwort. Leider lag deine Kristallkugel falsch.</p>
<pre><code class="language-cpp">srand((unsigned) time(NULL));
Real timeFirstEnemy = rand() % 5;
int Position = rand() % 5;
</code></pre>
<p>Die Sache ist die, das die beiden zahlen auch gerne mal gleich sein dürfen nur bekomme ich bei dieser Funktion immer das gleiche Ergebnis.<br />
Grüße</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1704499</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1704499</guid><dc:creator><![CDATA[Dreadis]]></dc:creator><pubDate>Sat, 02 May 2009 15:38:25 GMT</pubDate></item><item><title><![CDATA[Reply to Zwei unterschiedliche zufallszahlen erzeugen. on Sat, 02 May 2009 15:51:03 GMT]]></title><description><![CDATA[<p>und was ist dein Real?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1704502</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1704502</guid><dc:creator><![CDATA[na]]></dc:creator><pubDate>Sat, 02 May 2009 15:51:03 GMT</pubDate></item><item><title><![CDATA[Reply to Zwei unterschiedliche zufallszahlen erzeugen. on Sat, 02 May 2009 16:05:59 GMT]]></title><description><![CDATA[<p>das ist vom Typ float. Könnte auch float da stehen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1704505</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1704505</guid><dc:creator><![CDATA[Dreadis]]></dc:creator><pubDate>Sat, 02 May 2009 16:05:59 GMT</pubDate></item><item><title><![CDATA[Reply to Zwei unterschiedliche zufallszahlen erzeugen. on Sat, 02 May 2009 16:15:17 GMT]]></title><description><![CDATA[<p>Nexus schrieb:</p>
<blockquote>
<p>Wenn man allerdings plötzlich 1000 unterschiedliche Zufallszahlen zwischen 1 und 10000 haben will, sollte man sich ein effizienteres Verfahren überlegen, da der Rechenaufwand von oben genanntem sehr schnell ansteigt. Ein Ansatz wäre, alle Zahlen in einem Container zu speichern, diesen mit <code>std::random_shuffle()</code> durchmischen und die gewünschte Anzahl Zufallszahlen am Anfang oder Ende auszulesen.</p>
</blockquote>
<p>meinst du wirklich, ich bräuchte mit dem durchprobieren zehnmal so lang? glaub ich nicht. also ist random_shuffle doch langsamer.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1704508</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1704508</guid><dc:creator><![CDATA[volkard]]></dc:creator><pubDate>Sat, 02 May 2009 16:15:17 GMT</pubDate></item><item><title><![CDATA[Reply to Zwei unterschiedliche zufallszahlen erzeugen. on Sat, 02 May 2009 16:20:42 GMT]]></title><description><![CDATA[<p>Dreadis schrieb:</p>
<blockquote>
<p>Hallo volkard,<br />
Danke für die Antwort. Leider lag deine Kristallkugel falsch.</p>
</blockquote>
<p>war aber auch recht dicht dran.<br />
wie ist es, wenn du srand((unsigned)time(NULL)) an den anfang der main() auslagerst?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1704512</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1704512</guid><dc:creator><![CDATA[volkard]]></dc:creator><pubDate>Sat, 02 May 2009 16:20:42 GMT</pubDate></item><item><title><![CDATA[Reply to Zwei unterschiedliche zufallszahlen erzeugen. on Sat, 02 May 2009 16:52:48 GMT]]></title><description><![CDATA[<p>volkard schrieb:</p>
<blockquote>
<p>Nexus schrieb:</p>
<blockquote>
<p>Wenn man allerdings plötzlich 1000 unterschiedliche Zufallszahlen zwischen 1 und 10000 haben will, sollte man sich ein effizienteres Verfahren überlegen, da der Rechenaufwand von oben genanntem sehr schnell ansteigt. Ein Ansatz wäre, alle Zahlen in einem Container zu speichern, diesen mit <code>std::random_shuffle()</code> durchmischen und die gewünschte Anzahl Zufallszahlen am Anfang oder Ende auszulesen.</p>
</blockquote>
<p>meinst du wirklich, ich bräuchte mit dem durchprobieren zehnmal so lang? glaub ich nicht. also ist random_shuffle doch langsamer.</p>
</blockquote>
<p>Kann man doch ausrechnen, wie groß die Wahrscheinlichkeit ist, dass man ne Zahl tirfft die man schon hat. Ist doch ne richtig interessante Aufgabe, die hier sicher einer ausrechnen will.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1704531</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1704531</guid><dc:creator><![CDATA[iwantitall]]></dc:creator><pubDate>Sat, 02 May 2009 16:52:48 GMT</pubDate></item></channel></rss>