<?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[rand() spuckt nur Null aus]]></title><description><![CDATA[<p>Hi,</p>
<p>bin C++ Neuling, laut Lehrer sollte das folgende funktionieren, tuts aber nicht:</p>
<pre><code class="language-cpp">#include&lt;iostream&gt;
#include&lt;cstdlib&gt;
#include&lt;ctime&gt;  

....

int n = 10;
float *b = new float[n];
srand((unsigned int) time(0));
for(int i=0;i&lt;n;i++){

   b[i] = float(rand()) / (RAND_MAX/100);
}
</code></pre>
<p>Angedacht ist das Feld mit Zufallszahlen zwischen 0 und 100 zu füllen, doch es füllt sich nur mit Nullen. Kann bitte jemand helfen?</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/240163/rand-spuckt-nur-null-aus</link><generator>RSS for Node</generator><lastBuildDate>Tue, 22 Sep 2026 03:41:56 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/240163.rss" rel="self" type="application/rss+xml"/><pubDate>Sat, 02 May 2009 23:05:47 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to rand() spuckt nur Null aus on Sat, 02 May 2009 23:05:47 GMT]]></title><description><![CDATA[<p>Hi,</p>
<p>bin C++ Neuling, laut Lehrer sollte das folgende funktionieren, tuts aber nicht:</p>
<pre><code class="language-cpp">#include&lt;iostream&gt;
#include&lt;cstdlib&gt;
#include&lt;ctime&gt;  

....

int n = 10;
float *b = new float[n];
srand((unsigned int) time(0));
for(int i=0;i&lt;n;i++){

   b[i] = float(rand()) / (RAND_MAX/100);
}
</code></pre>
<p>Angedacht ist das Feld mit Zufallszahlen zwischen 0 und 100 zu füllen, doch es füllt sich nur mit Nullen. Kann bitte jemand helfen?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1704629</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1704629</guid><dc:creator><![CDATA[Zufall]]></dc:creator><pubDate>Sat, 02 May 2009 23:05:47 GMT</pubDate></item><item><title><![CDATA[Reply to rand() spuckt nur Null aus on Sat, 02 May 2009 23:14:57 GMT]]></title><description><![CDATA[<p>sieht eigentlich aus, als würde das funktionieren.<br />
kann es an der anzeige liegen, daß du den eindruck hast, es wäre nur nullen drin, obwohl richtige zufallszahlen drin sind?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1704631</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1704631</guid><dc:creator><![CDATA[volkard]]></dc:creator><pubDate>Sat, 02 May 2009 23:14:57 GMT</pubDate></item><item><title><![CDATA[Reply to rand() spuckt nur Null aus on Sat, 02 May 2009 23:22:58 GMT]]></title><description><![CDATA[<p>Wenn ich das array ganz normal mit printf elementweise ausgeben lasse ist das mit jeder nachkommagenauigkeit null. Auch ein insertionsort gibt als laufzeit null aus, somit müssen alle elemente gleich sein. Irgendwas muss also genau in dieser Initialisierungsschleife daneben gegangen sein.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1704633</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1704633</guid><dc:creator><![CDATA[Zufall]]></dc:creator><pubDate>Sat, 02 May 2009 23:22:58 GMT</pubDate></item><item><title><![CDATA[Reply to rand() spuckt nur Null aus on Sat, 02 May 2009 23:42:20 GMT]]></title><description><![CDATA[<p>Zufall schrieb:</p>
<blockquote>
<p>Wenn ich das array ganz normal mit printf elementweise ausgeben lasse ist das mit jeder nachkommagenauigkeit null. Auch ein insertionsort gibt als laufzeit null aus, somit müssen alle elemente gleich sein. Irgendwas muss also genau in dieser Initialisierungsschleife daneben gegangen sein.</p>
</blockquote>
<p>aber</p>
<pre><code class="language-cpp">int main()
{
int n = 10;
float *b = new float[n];
srand((unsigned int) time(0));
for(int i=0;i&lt;n;i++){
   b[i] = float(rand()) / (RAND_MAX/100);
}
for(int i=0;i&lt;n;i++){
   cout&lt;&lt;b[i]&lt;&lt;'\n';
}
}
</code></pre>
<p>gibt bei mir<br />
70.7095<br />
97.3517<br />
39.7982<br />
44.3089<br />
86.7829<br />
84.474<br />
89.2569<br />
13.9725<br />
73.6055<br />
87.5933<br />
aus.</p>
<p>dann hast du vielleicht die daten falsch an eine unterfunktion übergeben. oder dein würfeln ist in einer funktion und du gibst den neuen zeiger auf die daten nicht richtig raus.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1704637</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1704637</guid><dc:creator><![CDATA[volkard]]></dc:creator><pubDate>Sat, 02 May 2009 23:42:20 GMT</pubDate></item><item><title><![CDATA[Reply to rand() spuckt nur Null aus on Sun, 03 May 2009 08:03:06 GMT]]></title><description><![CDATA[<p>@Zufall zeig uns Code, dann können wir mehr als nur raten wo der Fehler evtl. liegen könnte.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1704674</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1704674</guid><dc:creator><![CDATA[pumuckl]]></dc:creator><pubDate>Sun, 03 May 2009 08:03:06 GMT</pubDate></item><item><title><![CDATA[Reply to rand() spuckt nur Null aus on Sun, 03 May 2009 15:49:04 GMT]]></title><description><![CDATA[<p>1. vielleicht geht es ja auch nicht, weil Zufall vergessen hat die time.h zu includen.</p>
<p>2. Wenn die Zahlen zu groß sind, einfach einen Maximalwert angeben:</p>
<pre><code class="language-cpp">a=rand()%50;//%50=kleiner 50
</code></pre>
<p>3.Wenn du b mit new deklarierst, musst du es auch wieder löschen!</p>
<pre><code class="language-cpp">float *b= new float[n];
//code dazwischen
delete[] b;//löscht b
</code></pre>
<p>4. ich habe den ganzen Code leicht abgeändert und bei mir funktioniert es auch:</p>
<pre><code class="language-cpp">#include&lt;iostream&gt; 
#include&lt;conio.h&gt;
#include&lt;time.h&gt;
#include&lt;windows.h&gt;

using namespace std;

int main()
{
int n = 10; 
float *b = new float[n]; 
srand(time(0)); 
for(int i=0;i&lt;n;i++){ 
   b[i] = float(rand()%101);//hält b kleiner 100
} 
for(int i=0;i&lt;n;i++){ 
   cout&lt;&lt;b[i]&lt;&lt;'\n'; 
}
delete[] b;
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1704880</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1704880</guid><dc:creator><![CDATA[andi01]]></dc:creator><pubDate>Sun, 03 May 2009 15:49:04 GMT</pubDate></item><item><title><![CDATA[Reply to rand() spuckt nur Null aus on Sun, 03 May 2009 21:35:36 GMT]]></title><description><![CDATA[<p>Zufall schrieb:</p>
<blockquote>
<pre><code class="language-cpp">b[i] = float(rand()) / (RAND_MAX/100);
</code></pre>
</blockquote>
<p>Ich bin mir zwar nicht sicher, aber wird hier ein float durch ein int geteilt?<br />
Gibt das dann float oder int als Rückgabe?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1705044</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1705044</guid><dc:creator><![CDATA[[[global:guest]]]]></dc:creator><pubDate>Sun, 03 May 2009 21:35:36 GMT</pubDate></item><item><title><![CDATA[Reply to rand() spuckt nur Null aus on Sun, 03 May 2009 21:38:58 GMT]]></title><description><![CDATA[<p>daersc schrieb:</p>
<blockquote>
<p>Zufall schrieb:</p>
<blockquote>
<pre><code class="language-cpp">b[i] = float(rand()) / (RAND_MAX/100);
</code></pre>
</blockquote>
<p>Ich bin mir zwar nicht sicher, aber wird hier ein float durch ein int geteilt?<br />
Gibt das dann float oder int als Rückgabe?</p>
</blockquote>
<p>so bald mind. ein float dabei ist, werden sämtliche ints auf float gecastet und die division ergibt dem zu folge auch ein float...<br />
hätte man aber auch einfach probieren können:</p>
<pre><code class="language-cpp">int a (3); float b(2);
std::cout &lt;&lt; a/b &lt;&lt; std::endl &lt;&lt; b/a &lt;&lt; std::endl;
</code></pre>
<p>bb</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1705047</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1705047</guid><dc:creator><![CDATA[unskilled]]></dc:creator><pubDate>Sun, 03 May 2009 21:38:58 GMT</pubDate></item></channel></rss>