<?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[keine zufallszahlen mit randomize()]]></title><description><![CDATA[<p>Hallo miteinander</p>
<p>Leider konnte mir das Internet und auch die Suche in diesem Forum nicht wirklich weiterhelfen. Das Problem wurde wohl öfters erörtert, doch bin ich wohl zu blöd, die Lösung für meinen Fall zu finden.</p>
<p>Ich habe das Problem, dass ich eine Zufallszahl per randomize(), bzw. nachher per rand() definieren möchte. Leider bekomme ich immer dieselben Zahlen. So weit ich weiss, hängt das damit zusammen, dass randomize im Sekundentakt wechselt, oder???<br />
Ich habe eine Lösung gefundne, indem ich sleep(1) in den Code einfüge. Leider dauert es dementsprechend länger...</p>
<p>Ich habe die Aufgabe ein &quot;Schiffe versenken&quot; zu programmieren. Das Programm muss die Schiffe per Zufall in ein 16x16 grosses Feld einfügen.</p>
<p>Ich poste hier mal die Methode, mit welcher ich die 2er-Schiffe einfügen möchte (es müssen 4 Stück sein). Ich wäre echt froh, wenn ihr mir helfen könnt.</p>
<p>Übringens, anhand meines Textex, meines Problems und des folgenden Codes werde ihr wohl schnell erkennen, dass ich noch ziemlicher Anfänger bin.</p>
<p>Hier meine Methode:</p>
<pre><code>void Csink::setshipzwei()
{
   counter=0;
   do
   {
      sleep(1);

   	randomize();
   	ykoo = rand()%14+1;
   	zkoo = rand()%14+1;

   	for(int t=0; t&lt;16; t++)
   	{
   		for (int l=0; l&lt;16; l++)
      	{
         	if (t==ykoo &amp;&amp; l==zkoo &amp;&amp; field[t][l]!='*')
         	{
					field [t][l] = '*';
         	}
         	else
            {
            	if (field [t][l] != '*')
            	{
         			field [t][l] = '.';
            	}
            }
      	}
   	}
      randomize();
   	direction=rand()%4;

		if (direction==0 &amp;&amp; field[ykoo-1][zkoo] != '*')
	   {
	   	field[ykoo-1][zkoo] = '*';
         counter++;
	   }

	   if (direction==1 &amp;&amp; field[ykoo+1][zkoo] != '*')
	   {
		   field[ykoo+1][zkoo] = '*';
         counter++;
	   }

	   if (direction==2 &amp;&amp; field[ykoo][zkoo-1] != '*')
	   {
	   	field[ykoo][zkoo-1] = '*';
         counter++;
	   }

	   if (direction==3 &amp;&amp; field[ykoo][zkoo+1] != '*')
	   {
	   	field[ykoo][zkoo+1] = '*';
         counter++;
	   }
      else
      {
      }
   }
   while(counter&lt;=3);
}
</code></pre>
<p>Kann mir jemand erklären, wieso ich immer die gleichen Zahlen bekommen, bzw. wie ich das ändern kann??</p>
<p>Vielen Dank für die Hilfe,<br />
nemico</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/142868/keine-zufallszahlen-mit-randomize</link><generator>RSS for Node</generator><lastBuildDate>Wed, 02 Sep 2026 17:58:47 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/142868.rss" rel="self" type="application/rss+xml"/><pubDate>Mon, 03 Apr 2006 17:14:35 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to keine zufallszahlen mit randomize() on Mon, 03 Apr 2006 17:14:35 GMT]]></title><description><![CDATA[<p>Hallo miteinander</p>
<p>Leider konnte mir das Internet und auch die Suche in diesem Forum nicht wirklich weiterhelfen. Das Problem wurde wohl öfters erörtert, doch bin ich wohl zu blöd, die Lösung für meinen Fall zu finden.</p>
<p>Ich habe das Problem, dass ich eine Zufallszahl per randomize(), bzw. nachher per rand() definieren möchte. Leider bekomme ich immer dieselben Zahlen. So weit ich weiss, hängt das damit zusammen, dass randomize im Sekundentakt wechselt, oder???<br />
Ich habe eine Lösung gefundne, indem ich sleep(1) in den Code einfüge. Leider dauert es dementsprechend länger...</p>
<p>Ich habe die Aufgabe ein &quot;Schiffe versenken&quot; zu programmieren. Das Programm muss die Schiffe per Zufall in ein 16x16 grosses Feld einfügen.</p>
<p>Ich poste hier mal die Methode, mit welcher ich die 2er-Schiffe einfügen möchte (es müssen 4 Stück sein). Ich wäre echt froh, wenn ihr mir helfen könnt.</p>
<p>Übringens, anhand meines Textex, meines Problems und des folgenden Codes werde ihr wohl schnell erkennen, dass ich noch ziemlicher Anfänger bin.</p>
<p>Hier meine Methode:</p>
<pre><code>void Csink::setshipzwei()
{
   counter=0;
   do
   {
      sleep(1);

   	randomize();
   	ykoo = rand()%14+1;
   	zkoo = rand()%14+1;

   	for(int t=0; t&lt;16; t++)
   	{
   		for (int l=0; l&lt;16; l++)
      	{
         	if (t==ykoo &amp;&amp; l==zkoo &amp;&amp; field[t][l]!='*')
         	{
					field [t][l] = '*';
         	}
         	else
            {
            	if (field [t][l] != '*')
            	{
         			field [t][l] = '.';
            	}
            }
      	}
   	}
      randomize();
   	direction=rand()%4;

		if (direction==0 &amp;&amp; field[ykoo-1][zkoo] != '*')
	   {
	   	field[ykoo-1][zkoo] = '*';
         counter++;
	   }

	   if (direction==1 &amp;&amp; field[ykoo+1][zkoo] != '*')
	   {
		   field[ykoo+1][zkoo] = '*';
         counter++;
	   }

	   if (direction==2 &amp;&amp; field[ykoo][zkoo-1] != '*')
	   {
	   	field[ykoo][zkoo-1] = '*';
         counter++;
	   }

	   if (direction==3 &amp;&amp; field[ykoo][zkoo+1] != '*')
	   {
	   	field[ykoo][zkoo+1] = '*';
         counter++;
	   }
      else
      {
      }
   }
   while(counter&lt;=3);
}
</code></pre>
<p>Kann mir jemand erklären, wieso ich immer die gleichen Zahlen bekommen, bzw. wie ich das ändern kann??</p>
<p>Vielen Dank für die Hilfe,<br />
nemico</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1029813</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1029813</guid><dc:creator><![CDATA[nemico]]></dc:creator><pubDate>Mon, 03 Apr 2006 17:14:35 GMT</pubDate></item><item><title><![CDATA[Reply to keine zufallszahlen mit randomize() on Mon, 03 Apr 2006 17:25:01 GMT]]></title><description><![CDATA[<p>schau doch mal in die ANSI-C FAQ, dort wird erklärt, wie man Zufallszahlen erzeugt.</p>
<p>Am Anfang deines Codes einfach die folgende Zeile einfügen, dann werden die Werte bei jedem Mal anders.</p>
<pre><code class="language-cpp">srand( (unsigned) time(NULL) ) ;
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1029820</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1029820</guid><dc:creator><![CDATA[lustig]]></dc:creator><pubDate>Mon, 03 Apr 2006 17:25:01 GMT</pubDate></item><item><title><![CDATA[Reply to keine zufallszahlen mit randomize() on Mon, 03 Apr 2006 18:22:47 GMT]]></title><description><![CDATA[<p>lustig schrieb:</p>
<blockquote>
<p>Am Anfang deines Codes einfach die folgende Zeile einfügen, dann werden die Werte bei jedem Mal anders.</p>
<pre><code class="language-cpp">srand( (unsigned) time(NULL) ) ;
</code></pre>
</blockquote>
<p>Ich nehme an, dass seine randomize-Funktion genau das tut.</p>
<p>Der entscheidende Punkt ist, dass man das nur <strong>einmal</strong> tun soll.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1029858</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1029858</guid><dc:creator><![CDATA[MFK]]></dc:creator><pubDate>Mon, 03 Apr 2006 18:22:47 GMT</pubDate></item><item><title><![CDATA[Reply to keine zufallszahlen mit randomize() on Mon, 03 Apr 2006 20:09:10 GMT]]></title><description><![CDATA[<p>Hallo miteinander</p>
<p>Herzlichen Dank für eure Postings!</p>
<p>Den von euch geposteten Code habe ich auch schon gesehn und ausprobiert, leider ohne Erfolg (war wohl am falschen Ort).<br />
Ich habe das Codeelement nun nochmals eingefügt und nun funktioniert es schon besser. Irgendwelche Probleme bestehen noch immer, aber die krieg ich (hoffentlich) auch noch raus <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>
<p>Wie gesagt, ich danke euch für die schnelle Hilfe!!</p>
<p>Gruss, nemico</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1029913</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1029913</guid><dc:creator><![CDATA[nemico]]></dc:creator><pubDate>Mon, 03 Apr 2006 20:09:10 GMT</pubDate></item><item><title><![CDATA[Reply to keine zufallszahlen mit randomize() on Mon, 03 Apr 2006 20:16:14 GMT]]></title><description><![CDATA[<p>nemico schrieb:</p>
<blockquote>
<p>Den von euch geposteten Code habe ich auch schon gesehn und ausprobiert, leider ohne Erfolg (war wohl am falschen Ort).</p>
</blockquote>
<p>Lies die Postings doch nocheinmal. Sprich</p>
<pre><code class="language-cpp">int main()
{
  srand((unsigned)time(0)); // _einmal_ und nirgends sonst
  // ...
}
</code></pre>
<p>sollte dein Problem beheben. Wenn nicht poste mal die randomize()-Definition...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1029916</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1029916</guid><dc:creator><![CDATA[finix]]></dc:creator><pubDate>Mon, 03 Apr 2006 20:16:14 GMT</pubDate></item><item><title><![CDATA[Reply to keine zufallszahlen mit randomize() on Wed, 19 Apr 2006 19:54:41 GMT]]></title><description><![CDATA[<p>finix schrieb:</p>
<blockquote>
<p>... Wenn nicht poste mal die randomize()-Definition...</p>
</blockquote>
<p>Ich danke für deine Hilfe. Meinen Code zu posten würde wohl das Forum sprengen, sollte ich jedoch weiterin keinen Erfolg haben, werde ich wohl doch auf diese Möglichkeit zurückgreifen müssen.</p>
<p>Könnte das Problem auch daran liegen, dass ich den Code in einer Klasse (im Methodenfile) und nicht unter dem &quot;normalen&quot; main einsetze???</p>
<p>Sorry, ich weiss meine Ausdrucksweise ist haarsträubend, doch kann ich es noch nicht besser <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f644.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--face_with_rolling_eyes"
      title=":rolling_eyes:"
      alt="🙄"
    /></p>
<p>nochmals danke, Gruss &quot;us dä Schwiiz&quot;, nemico</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1040895</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1040895</guid><dc:creator><![CDATA[nemico]]></dc:creator><pubDate>Wed, 19 Apr 2006 19:54:41 GMT</pubDate></item><item><title><![CDATA[Reply to keine zufallszahlen mit randomize() on Thu, 20 Apr 2006 06:18:24 GMT]]></title><description><![CDATA[<p>nemico schrieb:</p>
<blockquote>
<p>Könnte das Problem auch daran liegen, dass ich den Code in einer Klasse (im Methodenfile) und nicht unter dem &quot;normalen&quot; main einsetze???</p>
</blockquote>
<p>Ja, das könnte ein Grund sein - der Zufalls-Generator sollte <strong>genau einmal</strong> im Programm initialisiert werden, sonst läuft er aus dem Takt (mit dem Ergebnis, daß er wenig zufällige Werte zurückliefert).</p>
<p>(das muß nicht unbedingt in der main() sein)</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1041037</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1041037</guid><dc:creator><![CDATA[CStoll]]></dc:creator><pubDate>Thu, 20 Apr 2006 06:18:24 GMT</pubDate></item><item><title><![CDATA[Reply to keine zufallszahlen mit randomize() on Thu, 20 Apr 2006 09:40:30 GMT]]></title><description><![CDATA[<p>nemico schrieb:</p>
<blockquote>
<p>finix schrieb:</p>
<blockquote>
<p>... Wenn nicht poste mal die randomize()-Definition...</p>
</blockquote>
<p>Ich danke für deine Hilfe. Meinen Code zu posten würde wohl das Forum sprengen, sollte ich jedoch weiterin keinen Erfolg haben, werde ich wohl doch auf diese Möglichkeit zurückgreifen müssen.</p>
</blockquote>
<p>es war nur nach der definition der funktion randomize() gefragt.<br />
aber vrauchste nicht zu posten.<br />
randomize() macht nix anderes als srand(time(0))<br />
und du sollst randomize() nicht innerhalb von Csink::setshipzwei aufrzfen, sondern nur einmal, am besten in der main() oder sowas ähnlichem, vielleicht einer Dialog::On_Create() oder so.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1041148</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1041148</guid><dc:creator><![CDATA[volkard]]></dc:creator><pubDate>Thu, 20 Apr 2006 09:40:30 GMT</pubDate></item></channel></rss>