<?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[srand, Vektorklasse, Klasse]]></title><description><![CDATA[<p>Hallo,</p>
<p>ich programmiere im Moment an einem Programm, das ein neuronales Netzwerk beinhaltet, welches trainiert werden muss. Aber zu meinem Problem.</p>
<p>Ich habe mir eine Klasse Neuron geschrieben, deren constructor &quot;Zufallszahlen&quot; benötigt, die ich mir im Moment mit der Randomfunktion erzeuge:</p>
<pre><code class="language-cpp">Neuron::Neuron()
{
weight_1=rand()%9;
}
</code></pre>
<p>Innerhalb des Programmes muss ich mir dynamisch Objekte vom Typ Neuron erzeugen, was ich mit Hilfe der Vektorklasse mache:</p>
<pre><code class="language-cpp">srand(time(NULL)); // initialize randomnumber generator
vector&lt;Neuron&gt; vecneuron; //generates vector for neurons 
Neuron neuron; 

//generate the different neurons    
for(int i=0;i&lt;=5;i++)
{
vecneuron.push_back(neuron); 
}
</code></pre>
<p>Die srand-Funktion initialisiert den randomnumber Erzeuger.<br />
Mein Problem ist nun, dass die erzeugte Zufallszahl für jeden der hier 5 erzeugten Vektoren gleich ist!<br />
Wie kann man dieses Problem umgehen.</p>
<p>Vielen Dank schon einmal!</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/259411/srand-vektorklasse-klasse</link><generator>RSS for Node</generator><lastBuildDate>Tue, 08 Sep 2026 21:22:19 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/259411.rss" rel="self" type="application/rss+xml"/><pubDate>Fri, 22 Jan 2010 14:24:29 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to srand, Vektorklasse, Klasse on Fri, 22 Jan 2010 14:24:29 GMT]]></title><description><![CDATA[<p>Hallo,</p>
<p>ich programmiere im Moment an einem Programm, das ein neuronales Netzwerk beinhaltet, welches trainiert werden muss. Aber zu meinem Problem.</p>
<p>Ich habe mir eine Klasse Neuron geschrieben, deren constructor &quot;Zufallszahlen&quot; benötigt, die ich mir im Moment mit der Randomfunktion erzeuge:</p>
<pre><code class="language-cpp">Neuron::Neuron()
{
weight_1=rand()%9;
}
</code></pre>
<p>Innerhalb des Programmes muss ich mir dynamisch Objekte vom Typ Neuron erzeugen, was ich mit Hilfe der Vektorklasse mache:</p>
<pre><code class="language-cpp">srand(time(NULL)); // initialize randomnumber generator
vector&lt;Neuron&gt; vecneuron; //generates vector for neurons 
Neuron neuron; 

//generate the different neurons    
for(int i=0;i&lt;=5;i++)
{
vecneuron.push_back(neuron); 
}
</code></pre>
<p>Die srand-Funktion initialisiert den randomnumber Erzeuger.<br />
Mein Problem ist nun, dass die erzeugte Zufallszahl für jeden der hier 5 erzeugten Vektoren gleich ist!<br />
Wie kann man dieses Problem umgehen.</p>
<p>Vielen Dank schon einmal!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1843304</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1843304</guid><dc:creator><![CDATA[Matthias123456]]></dc:creator><pubDate>Fri, 22 Jan 2010 14:24:29 GMT</pubDate></item><item><title><![CDATA[Reply to srand, Vektorklasse, Klasse on Fri, 22 Jan 2010 14:27:34 GMT]]></title><description><![CDATA[<p>Führe <code>srand</code> nur einmal beim Start deines Programmes aus und nicht immer erneut. Wahrscheinlich geht die Erstellung so schnell, dass jedesmal der gleiche Seed gesetzt wird, da keine über die Funktion <code>time</code> messbare Zeit vergangen ist.</p>
<p>Grüssli</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1843306</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1843306</guid><dc:creator><![CDATA[Dravere]]></dc:creator><pubDate>Fri, 22 Jan 2010 14:27:34 GMT</pubDate></item><item><title><![CDATA[Reply to srand, Vektorklasse, Klasse on Fri, 22 Jan 2010 14:34:59 GMT]]></title><description><![CDATA[<p>srand wird doch nur einmal am Start ausgeführt.</p>
<p>Grüße Matthias</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1843312</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1843312</guid><dc:creator><![CDATA[Mathias123456]]></dc:creator><pubDate>Fri, 22 Jan 2010 14:34:59 GMT</pubDate></item><item><title><![CDATA[Reply to srand, Vektorklasse, Klasse on Fri, 22 Jan 2010 14:37:39 GMT]]></title><description><![CDATA[<p>Mathias123456 schrieb:</p>
<blockquote>
<p>srand wird doch nur einmal am Start ausgeführt.</p>
</blockquote>
<p>Achso, dann habe ich mich von deinem letzten Satz verwirren lassen. Du hast gesagt, dass du 5 Vektoren erzeugst. Ich dachte, dass der präsentierte Code eine Funktion ist, welche du 5 mal aufrufst <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>Aber dann meintest du in dem Fall, dass die 5 Neuronen Objekte den gleichen Zufallswert beinhalten? Aber das liegt doch auf der Hand! Du kopierst 5 mal das gleiche Objekt in den Vektor rein!</p>
<p>Grüssli</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1843314</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1843314</guid><dc:creator><![CDATA[Dravere]]></dc:creator><pubDate>Fri, 22 Jan 2010 14:37:39 GMT</pubDate></item><item><title><![CDATA[Reply to srand, Vektorklasse, Klasse on Fri, 22 Jan 2010 14:43:20 GMT]]></title><description><![CDATA[<p>Oh schlecht ausgedrückt</p>
<p>Naja ich verstehe das so:<br />
Ich vegrößere den Vektor immer um ein Feld und ich dachte bei der jeweiligen Vektorvergrößerung würde der Konstruktor aufgerufen und damit auch den neuen random number genertator..</p>
<p>Aber wenn dem nicht so ist, eine Idee, wie das Problem umgangen werden kann?</p>
<p>Grüße</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1843318</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1843318</guid><dc:creator><![CDATA[Matthias123456]]></dc:creator><pubDate>Fri, 22 Jan 2010 14:43:20 GMT</pubDate></item><item><title><![CDATA[Reply to srand, Vektorklasse, Klasse on Fri, 22 Jan 2010 14:48:45 GMT]]></title><description><![CDATA[<p>Ehm, da scheint ein grundlegendes Verständnis in C++ zu fehlen? Was 5 mal aufgerufen wird, ist der Kopierkonstruktor, weil du das Objekt 5 mal kopierst und die 5 Kopien in den <code>std::vector</code> legst. Wenn du jedesmal ein neues Objekt haben möchtest, dann lege halt jedesmal ein neues Objekt an:</p>
<pre><code class="language-cpp">srand(time(NULL)); // initialize randomnumber generator
vector&lt;Neuron&gt; vecneuron; //generates vector for neurons

//generate the different neurons
for(int i = 0; i &lt; 5; i++) // im übrigens nicht &lt;= 5, sondern &lt; 5, sonst hast du 6 Objekte.
{
  vecneuron.push_back(Neuron()); // &lt;- immer wieder ein neues Objekt erzeugen und einfügen.
}
</code></pre>
<p>Grüssli</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1843324</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1843324</guid><dc:creator><![CDATA[Dravere]]></dc:creator><pubDate>Fri, 22 Jan 2010 14:48:45 GMT</pubDate></item><item><title><![CDATA[Reply to srand, Vektorklasse, Klasse on Fri, 22 Jan 2010 14:53:56 GMT]]></title><description><![CDATA[<p>Danke für den Tipp, arbeite das erstemal mit der Vektorklasse und habe mir nicht wirklich durchgelesen, wie die Funktionen arbeiten...</p>
<p>Mache es nun einfach so:</p>
<pre><code class="language-cpp">for(int i=0;i&lt;=5;i++)
{
Neuron neuron; 
vecneuron.push_back(neuron); 
}
</code></pre>
<p>^^Das mit der 5 war nur ein Fehler beim reduzieren, ist in Wikrlichkeit alles ein bischen komplexer und größer, wollte euch/dich aber nicht mit mehr belästigen <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>Tausend Dank nochmal für die schnelle Hilfe <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/1843327</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1843327</guid><dc:creator><![CDATA[Matthias123456]]></dc:creator><pubDate>Fri, 22 Jan 2010 14:53:56 GMT</pubDate></item><item><title><![CDATA[Reply to srand, Vektorklasse, Klasse on Fri, 22 Jan 2010 15:00:57 GMT]]></title><description><![CDATA[<p>Matthias123456 schrieb:</p>
<blockquote>
<p>Danke für den Tipp, arbeite das erstemal mit der Vektorklasse und habe mir nicht wirklich durchgelesen, wie die Funktionen arbeiten...</p>
</blockquote>
<p><img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f615.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--confused_face"
      title=":confused:"
      alt="😕"
    /> Naja, was macht wohl ein <code>push_back</code> , wenn man ihm ein Objekt übergibt? Doch sicher nicht das Objekt ignorieren und neue Objekte erstellen... <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f615.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--confused_face"
      title=":confused:"
      alt="😕"
    /></p>
<p>Naja ...</p>
<p>Matthias123456 schrieb:</p>
<blockquote>
<p>Tausend Dank nochmal für die schnelle Hilfe <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>np, gerngeschehen.</p>
<p>Grüssli</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1843331</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1843331</guid><dc:creator><![CDATA[Dravere]]></dc:creator><pubDate>Fri, 22 Jan 2010 15:00:57 GMT</pubDate></item><item><title><![CDATA[Reply to srand, Vektorklasse, Klasse on Fri, 22 Jan 2010 15:05:29 GMT]]></title><description><![CDATA[<p>Die temporäre Variable 'neuron' kannst du dir auch sparen, wie Dravere das schon gezeigt hat.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1843334</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1843334</guid><dc:creator><![CDATA[SeppJ]]></dc:creator><pubDate>Fri, 22 Jan 2010 15:05:29 GMT</pubDate></item></channel></rss>