<?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[RandGen nicht random]]></title><description><![CDATA[<p>Hi,</p>
<p>ich verwende folgendes um random numbers zu erzeugen. jedoch wird bei compilierung + neustart des programmes immer die gleiche random sequence erzeugt...warum und was kann man dagegen machen?</p>
<pre><code>#include &lt;random&gt;
#include &lt;iostream&gt;

class RandGen {
private:
	std::mt19937 eng;

public:
	RandGen(): eng{std::random_device{}()} {}

	int random(const int min, const int max) {	
		std::uniform_int_distribution&lt;&gt; dist{min,max};
		return dist(eng);
	}
};

int main() {
    RandGen r;

    for (int i=0; i&lt;50; ++i) {
        std::cout &lt;&lt; r.random(0, 100) &lt;&lt; '\n';
    }
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/topic/331981/randgen-nicht-random</link><generator>RSS for Node</generator><lastBuildDate>Wed, 29 Apr 2026 13:44:16 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/331981.rss" rel="self" type="application/rss+xml"/><pubDate>Wed, 01 Apr 2015 15:02:36 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to RandGen nicht random on Wed, 01 Apr 2015 15:02:36 GMT]]></title><description><![CDATA[<p>Hi,</p>
<p>ich verwende folgendes um random numbers zu erzeugen. jedoch wird bei compilierung + neustart des programmes immer die gleiche random sequence erzeugt...warum und was kann man dagegen machen?</p>
<pre><code>#include &lt;random&gt;
#include &lt;iostream&gt;

class RandGen {
private:
	std::mt19937 eng;

public:
	RandGen(): eng{std::random_device{}()} {}

	int random(const int min, const int max) {	
		std::uniform_int_distribution&lt;&gt; dist{min,max};
		return dist(eng);
	}
};

int main() {
    RandGen r;

    for (int i=0; i&lt;50; ++i) {
        std::cout &lt;&lt; r.random(0, 100) &lt;&lt; '\n';
    }
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/2448739</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2448739</guid><dc:creator><![CDATA[newbb]]></dc:creator><pubDate>Wed, 01 Apr 2015 15:02:36 GMT</pubDate></item><item><title><![CDATA[Reply to RandGen nicht random on Wed, 01 Apr 2015 15:05:07 GMT]]></title><description><![CDATA[<p>Gib deinem Zufallsgenerator einen Seed mit, gewöhnlich nutzt man dazu die aktuelle Systemzeit in ms.</p>
<p>Auf der anderen Seite wird dieser Effekt auch gerne mal für Reproduzierbarkeit genutzt, d.h. gleicher Seed, gleiche Zahlenfolge, was es eifnacher amcht Zufallszahlen zu speichern. Es reicht halt den Seed zu speichern und nicht alle zahlen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2448740</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2448740</guid><dc:creator><![CDATA[Skym0sh0]]></dc:creator><pubDate>Wed, 01 Apr 2015 15:05:07 GMT</pubDate></item><item><title><![CDATA[Reply to RandGen nicht random on Wed, 01 Apr 2015 15:05:27 GMT]]></title><description><![CDATA[<p>April fools!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2448741</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2448741</guid><dc:creator><![CDATA[Columbo]]></dc:creator><pubDate>Wed, 01 Apr 2015 15:05:27 GMT</pubDate></item><item><title><![CDATA[Reply to RandGen nicht random on Wed, 01 Apr 2015 15:07:49 GMT]]></title><description><![CDATA[<p>gleiches ergebnis mit seed...warum!?</p>
<pre><code>class RandGenerator { 
private: 
    std::mt19937 eng; 

public: 
    RandGenerator(): eng{std::random_device{}()} {
		const auto time_seed = static_cast&lt;size_t&gt;(std::time(0));
		const auto clock_seed = static_cast&lt;size_t&gt;(std::clock());
		const size_t pid_seed = std::hash&lt;std::thread::id&gt;()(std::this_thread::get_id());
		std::seed_seq seed_value { time_seed, clock_seed, pid_seed };
		gen.seed(seed_value);		
	}

    int generate(const int min, const int max) {  
        std::uniform_int_distribution&lt;&gt; dist{min,max}; 
        return dist(eng); 
    }
};
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/2448742</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2448742</guid><dc:creator><![CDATA[newbb]]></dc:creator><pubDate>Wed, 01 Apr 2015 15:07:49 GMT</pubDate></item><item><title><![CDATA[Reply to RandGen nicht random on Wed, 01 Apr 2015 15:12:06 GMT]]></title><description><![CDATA[<p>so funktioniert es:</p>
<pre><code>class RandGenerator { 
private: 
    std::mt19937 eng; 

public: 
    RandGenerator(): eng{std::random_device{}()} {
		auto seed = std::chrono::high_resolution_clock::now().time_since_epoch().count();
		eng.seed(seed);		
	}

    int generate(const int min, const int max) {  
        std::uniform_int_distribution&lt;&gt; dist{min,max}; 
        return dist(eng); 
    }
};
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/2448744</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2448744</guid><dc:creator><![CDATA[newbb]]></dc:creator><pubDate>Wed, 01 Apr 2015 15:12:06 GMT</pubDate></item></channel></rss>