<?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[zufählige float Zahl generieren]]></title><description><![CDATA[<p>Hallo Zusammen!</p>
<p>hab n kleines problem, ich will ein float Zahl zwischen bistimmte Werten zB: -3.3 und 2.134 genereiern.<br />
mit rand() und srand habe ich zwar schön das für ein intger Zahl gemacht wie in mein folgendes Code</p>
<pre><code class="language-cpp">int main( int argc, char *argv[]) {

  int x=0;

  int a =-9;
  int  b=8;
  srand(time(NULL));
  for(int i=0; i&lt;10;i++){
    x=rand()%(b-a);
    x-=b;
  cout&lt;&lt; &quot;x=&quot;&lt;&lt;x&lt;&lt;endl;}

  return 0;}
</code></pre>
<p>kann mir jemand eine Idee geben wie ich es kriegen kann.</p>
<p>Danke im Voraus<br />
Gruß<br />
Stoly</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/292037/zufählige-float-zahl-generieren</link><generator>RSS for Node</generator><lastBuildDate>Mon, 17 Aug 2026 08:32:17 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/292037.rss" rel="self" type="application/rss+xml"/><pubDate>Thu, 01 Sep 2011 13:45:06 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to zufählige float Zahl generieren on Thu, 01 Sep 2011 13:45:06 GMT]]></title><description><![CDATA[<p>Hallo Zusammen!</p>
<p>hab n kleines problem, ich will ein float Zahl zwischen bistimmte Werten zB: -3.3 und 2.134 genereiern.<br />
mit rand() und srand habe ich zwar schön das für ein intger Zahl gemacht wie in mein folgendes Code</p>
<pre><code class="language-cpp">int main( int argc, char *argv[]) {

  int x=0;

  int a =-9;
  int  b=8;
  srand(time(NULL));
  for(int i=0; i&lt;10;i++){
    x=rand()%(b-a);
    x-=b;
  cout&lt;&lt; &quot;x=&quot;&lt;&lt;x&lt;&lt;endl;}

  return 0;}
</code></pre>
<p>kann mir jemand eine Idee geben wie ich es kriegen kann.</p>
<p>Danke im Voraus<br />
Gruß<br />
Stoly</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2113466</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2113466</guid><dc:creator><![CDATA[ctoly]]></dc:creator><pubDate>Thu, 01 Sep 2011 13:45:06 GMT</pubDate></item><item><title><![CDATA[Reply to zufählige float Zahl generieren on Thu, 01 Sep 2011 13:56:36 GMT]]></title><description><![CDATA[<p>Klassischer Dreisatz: Du teilst das Ergebnis von rand() durch RAND_MAX (und zwar eine Fließkommadivision!) und multiplizierst es mit der Größe deines Zielbereichs. Anschließend noch Verschieben und fertig.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2113471</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2113471</guid><dc:creator><![CDATA[SeppJ]]></dc:creator><pubDate>Thu, 01 Sep 2011 13:56:36 GMT</pubDate></item><item><title><![CDATA[Reply to zufählige float Zahl generieren on Thu, 01 Sep 2011 13:57:17 GMT]]></title><description><![CDATA[<p>ich habe es hingekiert aber ist es die beste lösung oder hat man da einen andern Vorschlag?</p>
<pre><code class="language-cpp">int main( int argc, char *argv[]) {

 float x=0.0;

  float a =-0.67;
  float b=3.5;
  srand(time(NULL));

  for(int i=0; i&lt;10;i++){
   x=((b-a)*((float)rand()/RAND_MAX))+a;
  cout&lt;&lt; &quot;x=&quot;&lt;&lt;x&lt;&lt;endl;}

  return 0;}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/2113472</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2113472</guid><dc:creator><![CDATA[Ctoly]]></dc:creator><pubDate>Thu, 01 Sep 2011 13:57:17 GMT</pubDate></item><item><title><![CDATA[Reply to zufählige float Zahl generieren on Thu, 01 Sep 2011 14:01:37 GMT]]></title><description><![CDATA[<p>das entspricht deinem vorschlag Seppj oder?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2113473</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2113473</guid><dc:creator><![CDATA[Ctoly]]></dc:creator><pubDate>Thu, 01 Sep 2011 14:01:37 GMT</pubDate></item><item><title><![CDATA[Reply to zufählige float Zahl generieren on Thu, 01 Sep 2011 14:06:02 GMT]]></title><description><![CDATA[<p>Du könntest dir noch <a href="http://www.boost.org/doc/libs/1_47_0/doc/html/boost_random.html" rel="nofollow">Boost.Random</a> anschauen. Hat vor allem deutlich bessere Zufallsgeneratoren dabei. Allerdings gibt es auch gleich Hilfsklassen/Funktoren für Bereichsabdeckungen.</p>
<p>Grüssli</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2113475</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2113475</guid><dc:creator><![CDATA[Dravere]]></dc:creator><pubDate>Thu, 01 Sep 2011 14:06:02 GMT</pubDate></item><item><title><![CDATA[Reply to zufählige float Zahl generieren on Thu, 01 Sep 2011 14:11:02 GMT]]></title><description><![CDATA[<p>Ctoly schrieb:</p>
<blockquote>
<p>das entspricht deinem vorschlag Seppj oder?</p>
</blockquote>
<p>Ja.</p>
<p>Designtipp: Das Problem ist doch optimal geeignet, um die Lösung in Form einer netten kleinen Funktion zu schreiben.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2113476</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2113476</guid><dc:creator><![CDATA[SeppJ]]></dc:creator><pubDate>Thu, 01 Sep 2011 14:11:02 GMT</pubDate></item><item><title><![CDATA[Reply to zufählige float Zahl generieren on Thu, 01 Sep 2011 16:07:06 GMT]]></title><description><![CDATA[<p>Vorsicht. Auf die Art geht die Gleichverteilung verloren - double(rand()) / RAND_MAX wird mehr Zahlen im Bereich [0.99, 1] als im Bereich [0, 0.01] liefern.</p>
<p>Es kommt natürlich auf den Anwendungsfall an, aber in der Regel ist es mathematisch sinnvoller, Zufallszahlen im Bereich [0, 1) zu generieren (Intervall bei 1 offen), indem man rand() / (RAND_MAX + 1.0) benutzt und dann skaliert; so deckt gewissermaßen jede mögliche Zahl einen gleich großen Teil des Intervalls ab. Soll das Intervall am unteren Ende offen sein, (rand() + 1.0) / (RAND_MAX + 1.0).</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2113508</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2113508</guid><dc:creator><![CDATA[seldon]]></dc:creator><pubDate>Thu, 01 Sep 2011 16:07:06 GMT</pubDate></item><item><title><![CDATA[Reply to zufählige float Zahl generieren on Thu, 01 Sep 2011 21:11:35 GMT]]></title><description><![CDATA[<p>SeppJ schrieb:</p>
<blockquote>
<p>Designtipp: Das Problem ist doch optimal geeignet, um die Lösung in Form einer netten kleinen Funktion zu schreiben.</p>
</blockquote>
<p>Besser gleich 'ne Klasse - oder. Heißt class Zufall und hatten wir <a href="http://www.c-plusplus.net/forum/p1202571#1202571" rel="nofollow">hier im Forum</a> schon mal.<br />
Anwendung:</p>
<pre><code class="language-cpp">#include &quot;Zufall.h&quot; // siehe &lt;http://www.c-plusplus.net/forum/p1202571#1202571&gt;
#include &lt;iostream&gt;

int main()
{
    using namespace std;
    Zufall&lt; double &gt; zufallszahl( -3.3, 2.134 );
    for( int i = 0; i &lt; 20; ++i )
        cout &lt;&lt; zufallszahl() &lt;&lt; endl;
    return 0;
}
</code></pre>
<p>Ausgabe:</p>
<pre><code>1.63949
-1.70436
-1.55876
1.82738
0.649467
0.121291
-3.12422
-1.20902
-0.781833
1.40533
-2.73368
-0.748998
-1.23107
-1.21665
-1.15927
-2.63402
0.547646
2.02986
-0.339724
1.02392
</code></pre>
<p>Gruß<br />
Werner</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2113654</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2113654</guid><dc:creator><![CDATA[Werner Salomon]]></dc:creator><pubDate>Thu, 01 Sep 2011 21:11:35 GMT</pubDate></item><item><title><![CDATA[Reply to zufählige float Zahl generieren on Fri, 02 Sep 2011 06:51:47 GMT]]></title><description><![CDATA[<p>Werner Salomon schrieb:</p>
<blockquote>
<p>Besser gleich 'ne Klasse - oder. Heißt class Zufall und hatten wir</p>
</blockquote>
<p>Sorry, C++ ist zwar Objektorientiert aber zum Glück nicht Java. Daher finde ich es stark übertrieben 2 C Funktionen in eine Klasse zu kapseln (und auch noch ne globale Funktion srand mit einer Funktion init_rand zu kapseln).<br />
Ausserdem ist die Klasse enorm unflexibel. Wenn ich ne Zahl zwischen 1 und 2 will, muss ich zunächst ein neues Objekt anlegen und dann dessen op() aufrufen <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f61e.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--disappointed_face"
      title=":("
      alt="😞"
    /></p>
<p>Das Problem ist ein ganz klarer Fall für eine inline Funktion. (Punkt)</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2113699</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2113699</guid><dc:creator><![CDATA[Gast_0025]]></dc:creator><pubDate>Fri, 02 Sep 2011 06:51:47 GMT</pubDate></item><item><title><![CDATA[Reply to zufählige float Zahl generieren on Fri, 02 Sep 2011 07:13:50 GMT]]></title><description><![CDATA[<p>Ich finde, dass ein Zufallsgenerator auf jeden Fall ein Objekt ist. Nur ist die gezeigte Implementierung problematisch, da alle Objekt sich einen globalen Zustand teilen, halt den globalen von rand(), das generelle Problem von rand aus &lt;cstdlib&gt;. Ich finde die Klassentemplates aus &lt;random&gt; schon gelungen. Ich versteh nicht wieso hier auch Anfängern die tollsten Zaubereien aus C++11 vorlegt werden, aber kein Schwein erwähnt sowas einfaches wie &lt;random&gt;. &quot;rand() reicht doch hier&quot;. Ja vieles aus C &quot;reicht&quot;, trotzdem ist alles andere in diesem Forum verpönt.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2113712</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2113712</guid><dc:creator><![CDATA[brotbernd]]></dc:creator><pubDate>Fri, 02 Sep 2011 07:13:50 GMT</pubDate></item><item><title><![CDATA[Reply to zufählige float Zahl generieren on Fri, 02 Sep 2011 09:04:17 GMT]]></title><description><![CDATA[<p>brotbernd schrieb:</p>
<blockquote>
<p>Ich finde, dass ein Zufallsgenerator auf jeden Fall ein Objekt ist. Nur ist die gezeigte Implementierung problematisch, da alle Objekt sich einen globalen Zustand teilen, halt den globalen von rand(), das generelle Problem von rand aus &lt;cstdlib&gt;. Ich finde die Klassentemplates aus &lt;random&gt; schon gelungen. Ich versteh nicht wieso hier auch Anfängern die tollsten Zaubereien aus C++11 vorlegt werden, aber kein Schwein erwähnt sowas einfaches wie &lt;random&gt;. &quot;rand() reicht doch hier&quot;. Ja vieles aus C &quot;reicht&quot;, trotzdem ist alles andere in diesem Forum verpönt.</p>
</blockquote>
<p>Das liegt glaube ich da dran, dass keiner hier random benutzt. Jahrelang hat man eben gelernt, dass entweder rand gut genug ist oder dass man sich gleich nach was professionellem umsehen muss. Dann kam tr1 und löste ein Problem, was in der Praxis schon zufriedenstellend gelöst war, denn eine PRNG-Klasse ist wirklich mal eine Klasse die man auch mit grundlegenden Sprachmitteln so schreiben kann, dass man sie immer wieder in verschiedensten Projekten ohne Anpassung benutzen kann. Daher hatten die, bloß Würfelspiele schreiben noch immer ihren rand, der gut genug war und die die gute Zufallszahlen brauchten hatten ihre guten selbstgeschriebenen Klassen. Und tr1 bot bloß mehr von dem was man schon längst hatte, kam dafür aber mit Portierungsproblemen, da nicht jeder Compiler es gleich unterstützte.</p>
<p>Ich denke das wird sich ändern, jetzt wo &lt;random&gt; offizieller Teil des &quot;richtigen&quot; Standards ist.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2113755</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2113755</guid><dc:creator><![CDATA[SeppJ]]></dc:creator><pubDate>Fri, 02 Sep 2011 09:04:17 GMT</pubDate></item><item><title><![CDATA[Reply to zufählige float Zahl generieren on Fri, 02 Sep 2011 10:37:53 GMT]]></title><description><![CDATA[<p>brotbernd schrieb:</p>
<blockquote>
<p>... Ich versteh nicht wieso hier auch Anfängern die tollsten Zaubereien aus C++11 vorlegt werden, aber kein Schwein erwähnt sowas einfaches wie &lt;random&gt;. &quot;rand() reicht doch hier&quot;. Ja vieles aus C &quot;reicht&quot;, trotzdem ist alles andere in diesem Forum verpönt.</p>
</blockquote>
<p>Es erwähnt ja auch keiner, dass man jederzeit auch etwas mit native-C problemlos einsetzen kann. Ist angeblich Schnee von gestern oder gehört in die Rubrik 'Steinzeitprogrammierung'. Einsteiger lernen eben die Denkweise von C++ und nichts anderes! <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f576.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--sunglasses"
      title=":sunglasses:"
      alt="🕶"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/2113791</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2113791</guid><dc:creator><![CDATA[berniebutt]]></dc:creator><pubDate>Fri, 02 Sep 2011 10:37:53 GMT</pubDate></item></channel></rss>