<?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[Schnell zufallszahlen Generieren]]></title><description><![CDATA[<p>Hallo zusammen. Ich habe mich in letzter Zeit etwas umgeschaut im Bereich Zufallszahlengenerierung. Ich bin dann schlussendlich auf einen Algorithmus gestoßen, dem ich ein Minimum und ein Maximum übergeben kann. Eigentlich genau das, was ich gesucht habe. Doch dieser Algorithmus verwendet, wie eigentlich jeder andere den ich kenne die Funktion</p>
<pre><code class="language-cpp">time(NULL)
</code></pre>
<p>um zu Seeden.<br />
Ich habe dann mal in der MSDN nachgeschaut, was es damit auf sich hat. Wie ich dann sah liefert diese Funktion die Zeit im Sekundenabstand. Ich bräuchte diese aber in kürzeren Abständen. Ist dies mit den im C++-Standardumfang enthaltenen Möglichkeiten machbar?</p>
<p>Kennt jemand eventuell eine andere Möglichkeit, Zufallszahlen zu generieren?<br />
Kriterien wären folgende:<br />
&gt; Schnelligkeit<br />
&gt; Grenzwerte setzen<br />
&gt; möglichst unterschiedliche Werte sollten erzielt werden</p>
<p>Ich danke schonmal im Voraus für eventuelle Antworten. <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>
]]></description><link>https://www.c-plusplus.net/forum/topic/294103/schnell-zufallszahlen-generieren</link><generator>RSS for Node</generator><lastBuildDate>Sun, 16 Aug 2026 01:04:45 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/294103.rss" rel="self" type="application/rss+xml"/><pubDate>Mon, 17 Oct 2011 21:56:15 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Schnell zufallszahlen Generieren on Mon, 17 Oct 2011 21:56:15 GMT]]></title><description><![CDATA[<p>Hallo zusammen. Ich habe mich in letzter Zeit etwas umgeschaut im Bereich Zufallszahlengenerierung. Ich bin dann schlussendlich auf einen Algorithmus gestoßen, dem ich ein Minimum und ein Maximum übergeben kann. Eigentlich genau das, was ich gesucht habe. Doch dieser Algorithmus verwendet, wie eigentlich jeder andere den ich kenne die Funktion</p>
<pre><code class="language-cpp">time(NULL)
</code></pre>
<p>um zu Seeden.<br />
Ich habe dann mal in der MSDN nachgeschaut, was es damit auf sich hat. Wie ich dann sah liefert diese Funktion die Zeit im Sekundenabstand. Ich bräuchte diese aber in kürzeren Abständen. Ist dies mit den im C++-Standardumfang enthaltenen Möglichkeiten machbar?</p>
<p>Kennt jemand eventuell eine andere Möglichkeit, Zufallszahlen zu generieren?<br />
Kriterien wären folgende:<br />
&gt; Schnelligkeit<br />
&gt; Grenzwerte setzen<br />
&gt; möglichst unterschiedliche Werte sollten erzielt werden</p>
<p>Ich danke schonmal im Voraus für eventuelle Antworten. <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>
]]></description><link>https://www.c-plusplus.net/forum/post/2132691</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2132691</guid><dc:creator><![CDATA[Honky]]></dc:creator><pubDate>Mon, 17 Oct 2011 21:56:15 GMT</pubDate></item><item><title><![CDATA[Reply to Schnell zufallszahlen Generieren on Mon, 17 Oct 2011 21:58:02 GMT]]></title><description><![CDATA[<blockquote>
<p>Ich bräuchte diese aber in kürzeren Abständen.</p>
</blockquote>
<p>Warum, normalerweise wird der <code>seed</code> nur einmal gesetzt.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2132693</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2132693</guid><dc:creator><![CDATA[knivil]]></dc:creator><pubDate>Mon, 17 Oct 2011 21:58:02 GMT</pubDate></item><item><title><![CDATA[Reply to Schnell zufallszahlen Generieren on Mon, 17 Oct 2011 21:59:06 GMT]]></title><description><![CDATA[<p>Seeden mußt Du mit plattformabhängigen Funktionen, wenn Dich das mit dem Sekundenabstand stört. Ansonsten sind srand() und rand() ganz ok.</p>
<p>Ich bevorzuge rdtsc. Andere getpid mit clock.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2132694</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2132694</guid><dc:creator><![CDATA[volkard]]></dc:creator><pubDate>Mon, 17 Oct 2011 21:59:06 GMT</pubDate></item><item><title><![CDATA[Reply to Schnell zufallszahlen Generieren on Mon, 17 Oct 2011 22:15:06 GMT]]></title><description><![CDATA[<p>knivil schrieb:</p>
<blockquote>
<blockquote>
<p>Ich bräuchte diese aber in kürzeren Abständen.</p>
</blockquote>
<p>Warum, normalerweise wird der <code>seed</code> nur einmal gesetzt.</p>
</blockquote>
<p>Ich möchte für eine große Menge an x-Werten die dazugehörigen y-Werte generieren.<br />
Also habe ich eine Funktion geschrieben, die den Seed setzt<br />
(mit Hilfe von time(NULL)) und mir dann einen zufallsgenerierten y-Wert zurückliefert. Da die Funktion immer wieder aufgerufen wird wird auch immer wieder geseeded und das kostet Zeit, denn ich muss ja zwischen den Aufrufen der Funktion mindestens eine Sekunde &quot;Platz&quot; haben, da sonst der selbe y-Wert nocheinmal zurückgegeben wird.</p>
<p>Wenn ich etwas falsch gemacht habe, lasse ich mich gerne belehren,<br />
denn wie man weiß lernt man aus Fehlern ja am besten <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>
]]></description><link>https://www.c-plusplus.net/forum/post/2132707</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2132707</guid><dc:creator><![CDATA[Honky]]></dc:creator><pubDate>Mon, 17 Oct 2011 22:15:06 GMT</pubDate></item><item><title><![CDATA[Reply to Schnell zufallszahlen Generieren on Mon, 17 Oct 2011 22:18:29 GMT]]></title><description><![CDATA[<p>Man seeded aber nicht bei jedem Aufruf.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2132710</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2132710</guid><dc:creator><![CDATA[314159265358979]]></dc:creator><pubDate>Mon, 17 Oct 2011 22:18:29 GMT</pubDate></item><item><title><![CDATA[Reply to Schnell zufallszahlen Generieren on Mon, 17 Oct 2011 22:18:55 GMT]]></title><description><![CDATA[<p>Wie knivil schon gesagt hat, normalerweise wird nur einmal geseedet, also wieso machst du es nicht so?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2132711</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2132711</guid><dc:creator><![CDATA[SeppJ]]></dc:creator><pubDate>Mon, 17 Oct 2011 22:18:55 GMT</pubDate></item><item><title><![CDATA[Reply to Schnell zufallszahlen Generieren on Mon, 17 Oct 2011 23:06:26 GMT]]></title><description><![CDATA[<p>Sorry, Honky, ich war im falschen Film.<br />
Dachte, Du würdest Dein ganzes Programm mehrmals pro Sekunde aufrufen und es würde Dich stören, daß alle Instanzen, die in der selben Sekunde starten, sich gleich verhalten.</p>
<pre><code class="language-cpp">int main(){
   srand(time(0));//und das war das einzige mal
   //ab jetzt normal weiter
</code></pre>
<p>Dann ist alles gut. rand ist dann schnell. Muß nicht auf die teure langsame Uhr zugreifen.<br />
Und jeder Programmlauf ist ganz anders, solange das Prog nicht zweimal innerhalb einer Sekunde gestartet wird.</p>
<p>Oft ist die allererste von rand() gelieferte Zahl noch sekündlich aufsteigend. Das macht man weg mit</p>
<pre><code class="language-cpp">int main(){
   srand(time(0));rand();
   //ab jetzt normal weiter
</code></pre>
<p>edit: war vertauscht, wie in folgenden Posting geklärt wurde. Habe es repariert.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2132714</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2132714</guid><dc:creator><![CDATA[volkard]]></dc:creator><pubDate>Mon, 17 Oct 2011 23:06:26 GMT</pubDate></item><item><title><![CDATA[Reply to Schnell zufallszahlen Generieren on Mon, 17 Oct 2011 22:58:19 GMT]]></title><description><![CDATA[<p>volkard schrieb:</p>
<blockquote>
<pre><code class="language-cpp">time(srand(0));//und das war das einzige mal
</code></pre>
</blockquote>
<p>Da ist dir ein Flüchtigkeitsfehler unterlaufen. Richtig ist</p>
<pre><code class="language-cpp">srand(time(0));
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/2132722</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2132722</guid><dc:creator><![CDATA[seldon]]></dc:creator><pubDate>Mon, 17 Oct 2011 22:58:19 GMT</pubDate></item><item><title><![CDATA[Reply to Schnell zufallszahlen Generieren on Tue, 18 Oct 2011 16:06:56 GMT]]></title><description><![CDATA[<p>Ok, danke. Ich wusste nicht, dass nur einmal im gesamten Programm geseeded werden muss. <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>
<p>Danke für alle hilfreichen Antworten <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f44d.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--thumbs_up"
      title=":+1:"
      alt="👍"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/2132908</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2132908</guid><dc:creator><![CDATA[Honky]]></dc:creator><pubDate>Tue, 18 Oct 2011 16:06:56 GMT</pubDate></item></channel></rss>