<?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[Conways Spiel des Lebens]]></title><description><![CDATA[<p>Hey leude<br />
mein code generiert am ende irgentwie nur die einfache blockform als stabile kolonie eigentlich sollten aber mehrere formen enstehen</p>
<pre><code class="language-cpp">//---------------------------------------------------------------------------

#include&lt;iostream.h&gt;
#include&lt;iomanip.h&gt;
#include&lt;conio.h&gt;
#include&lt;stdlib.h&gt;
#include&lt;time.h&gt;
#include&lt;dos.h&gt;

//---------------------------------------------------------------------------
void fuellenheute();
void sterben_leben();
void print();
void erase();
//---------------------------------------------------------------------------
const int Ebene = 2, Zeile=24, Spalte=70;
int feld [Ebene][Zeile][Spalte];
//---------------------------------------------------------------------------
void main()
{   srand(time(NULL));
		fuellenheute();
		sterben_leben();
		getch();
}
//---------------------------------------------------------------------------
void fuellenheute()
{
		for (int z = 0;z &lt; Zeile ;z++)
				for (int s = 0 ;s &lt; Spalte ; s++)
						feld [0][z][s] = rand() % 2;
	 print();
}
//---------------------------------------------------------------------------
void sterben_leben()
{
	while (true)
		{
			for (int z = 0;z &lt; Zeile ;z++ )
					for (int s = 0;s &lt; Spalte ; s++) {
							for (int rausZeile = z - 1;rausZeile &lt;= z+1 ;rausZeile++){
								 for (int rausSpalte = s - 1;rausSpalte &lt;= s+1 ; rausSpalte++){
										 if (rausSpalte &lt; 0) continue;
										 else if (rausZeile &lt; 0) continue;
										 else if (rausSpalte &gt; Spalte - 1) continue;
										 else if (rausZeile &gt; Zeile - 1) continue;
										 if (z != rausZeile)
											feld [1][z][s] += feld [0][rausZeile][rausSpalte];
										 else if (s != rausSpalte)
											feld [1][z][s] += feld [0][rausZeile][rausSpalte];

								 }

								if (feld [1][z][s] &gt; 3)  feld [0][z][s] = 0;
								else if (feld [1][z][s] &lt; 2) feld [0][z][s] = 0;
								else if (feld [1][z][s] == 3) feld [0][z][s] = 1;
							}

					 }
		print ();
		erase ();
		}

}

//---------------------------------------------------------------------------

void print(){
				clrscr();

				for (int z = 0;z &lt; Zeile ;z++ ) {
					for (int s = 0;s &lt; Spalte ;s++ ) {
						 if (feld [0][z][s] == 1)  cout &lt;&lt; &quot;*&quot;;
						 else cout &lt;&lt; &quot; &quot;;
					}
					cout &lt;&lt; endl;
				}
			   sleep(1);
		}
//---------------------------------------------------------------------------

void erase()
{
			for (int z = 0;z &lt; Zeile ;z++)
				for (int s = 0 ;s &lt; Spalte ; s++)
						feld [1][z][s] = 0;
}
</code></pre>
<p>kann mir einer sagen, wo der harken ist?<br />
oder vllt einfach nur verbesserungsvorschläge allgemein...</p>
<p>danke schonmal</p>
<p>CMW</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/194598/conways-spiel-des-lebens</link><generator>RSS for Node</generator><lastBuildDate>Tue, 29 Sep 2026 14:54:50 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/194598.rss" rel="self" type="application/rss+xml"/><pubDate>Mon, 08 Oct 2007 19:46:59 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Conways Spiel des Lebens on Tue, 09 Oct 2007 05:39:09 GMT]]></title><description><![CDATA[<p>Hey leude<br />
mein code generiert am ende irgentwie nur die einfache blockform als stabile kolonie eigentlich sollten aber mehrere formen enstehen</p>
<pre><code class="language-cpp">//---------------------------------------------------------------------------

#include&lt;iostream.h&gt;
#include&lt;iomanip.h&gt;
#include&lt;conio.h&gt;
#include&lt;stdlib.h&gt;
#include&lt;time.h&gt;
#include&lt;dos.h&gt;

//---------------------------------------------------------------------------
void fuellenheute();
void sterben_leben();
void print();
void erase();
//---------------------------------------------------------------------------
const int Ebene = 2, Zeile=24, Spalte=70;
int feld [Ebene][Zeile][Spalte];
//---------------------------------------------------------------------------
void main()
{   srand(time(NULL));
		fuellenheute();
		sterben_leben();
		getch();
}
//---------------------------------------------------------------------------
void fuellenheute()
{
		for (int z = 0;z &lt; Zeile ;z++)
				for (int s = 0 ;s &lt; Spalte ; s++)
						feld [0][z][s] = rand() % 2;
	 print();
}
//---------------------------------------------------------------------------
void sterben_leben()
{
	while (true)
		{
			for (int z = 0;z &lt; Zeile ;z++ )
					for (int s = 0;s &lt; Spalte ; s++) {
							for (int rausZeile = z - 1;rausZeile &lt;= z+1 ;rausZeile++){
								 for (int rausSpalte = s - 1;rausSpalte &lt;= s+1 ; rausSpalte++){
										 if (rausSpalte &lt; 0) continue;
										 else if (rausZeile &lt; 0) continue;
										 else if (rausSpalte &gt; Spalte - 1) continue;
										 else if (rausZeile &gt; Zeile - 1) continue;
										 if (z != rausZeile)
											feld [1][z][s] += feld [0][rausZeile][rausSpalte];
										 else if (s != rausSpalte)
											feld [1][z][s] += feld [0][rausZeile][rausSpalte];

								 }

								if (feld [1][z][s] &gt; 3)  feld [0][z][s] = 0;
								else if (feld [1][z][s] &lt; 2) feld [0][z][s] = 0;
								else if (feld [1][z][s] == 3) feld [0][z][s] = 1;
							}

					 }
		print ();
		erase ();
		}

}

//---------------------------------------------------------------------------

void print(){
				clrscr();

				for (int z = 0;z &lt; Zeile ;z++ ) {
					for (int s = 0;s &lt; Spalte ;s++ ) {
						 if (feld [0][z][s] == 1)  cout &lt;&lt; &quot;*&quot;;
						 else cout &lt;&lt; &quot; &quot;;
					}
					cout &lt;&lt; endl;
				}
			   sleep(1);
		}
//---------------------------------------------------------------------------

void erase()
{
			for (int z = 0;z &lt; Zeile ;z++)
				for (int s = 0 ;s &lt; Spalte ; s++)
						feld [1][z][s] = 0;
}
</code></pre>
<p>kann mir einer sagen, wo der harken ist?<br />
oder vllt einfach nur verbesserungsvorschläge allgemein...</p>
<p>danke schonmal</p>
<p>CMW</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1380791</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1380791</guid><dc:creator><![CDATA[CMW]]></dc:creator><pubDate>Tue, 09 Oct 2007 05:39:09 GMT</pubDate></item><item><title><![CDATA[Reply to Conways Spiel des Lebens on Mon, 08 Oct 2007 20:13:40 GMT]]></title><description><![CDATA[<p>CMW schrieb:</p>
<blockquote>
<pre><code class="language-cpp">if (feld [1][z][s] &gt; 3)  feld [0][z][s] = 0;
								else if (feld [1][z][s] &lt; 2) feld [0][z][s] = 0;
								else if (feld [1][z][s] == 3) feld [0][z][s] = 1;
</code></pre>
</blockquote>
<p>Das gehört in eine eigene Schleife, andernfalls überschreibst du vorzeitig Daten, die für die folgenden Felder noch gebraucht werden.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1380813</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1380813</guid><dc:creator><![CDATA[camper]]></dc:creator><pubDate>Mon, 08 Oct 2007 20:13:40 GMT</pubDate></item></channel></rss>