<?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[Anfängerfrage zu mehrdimensionalen Arrays (Absolut blutiger Beginner)]]></title><description><![CDATA[<p>Hallo Leute! Ich hab das Buch &quot;C++ für Spieleprogrammierer&quot; und bin jetzt bei den Arrays angelangt. Dort ist ein Beispiel-Code für mehrdimensionale Arrays.<br />
Bildschirmausgabe:</p>
<p>Also eine simple 3x3-&quot;Karte&quot;<br />
Ich verstehe jedoch nicht, welcher Wert bei &quot;cout &lt;&lt; Karte[x][y]&quot; angezeigt wird.<br />
Müsste er nicht zwei Werte (x und y) anzeigen? Ich versteh das Prinzip nicht so ganz und hoffe, ihr könnt mir helfen.</p>
<p>Ich verstehe zudem nicht, was genau passiert, wenn &quot;Karte[x][y] = Zähler&quot; stattfindet. Ist der Zähler bei 0, heißt das, dass dann &quot;Karte[0][0]&quot; ist?<br />
Ich hoffe, ihr versteht mein Problem!<br />
Hier noch die Bildschirmausgabe und darunter der Code!</p>
<p>______________<br />
012<br />
345<br />
678<br />
______________</p>
<pre><code>int main()
{
	int ende;
	const int Breite  = 3;
	const int Hoehe = 3;

	int x, y;
	int Karte[Breite][Hoehe];

	int Zaehler = 0;

	for (y=0; y&lt;Hoehe; y++)
	{
		for (x=0; x&lt;Breite; x++)
		{
			Karte[x] [y] = Zaehler;
			Zaehler++;
		}
	}

	for(y=0; y&lt;Hoehe; y++)
	{
		for(x=0; x&lt;Breite; x++)
		{
			cout &lt;&lt; Karte[x] [y];
		}

		cout &lt;&lt; endl;
	}

return 0;
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/topic/316770/anfängerfrage-zu-mehrdimensionalen-arrays-absolut-blutiger-beginner</link><generator>RSS for Node</generator><lastBuildDate>Wed, 29 Jul 2026 13:56:40 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/316770.rss" rel="self" type="application/rss+xml"/><pubDate>Wed, 15 May 2013 23:34:37 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Anfängerfrage zu mehrdimensionalen Arrays (Absolut blutiger Beginner) on Wed, 15 May 2013 23:34:37 GMT]]></title><description><![CDATA[<p>Hallo Leute! Ich hab das Buch &quot;C++ für Spieleprogrammierer&quot; und bin jetzt bei den Arrays angelangt. Dort ist ein Beispiel-Code für mehrdimensionale Arrays.<br />
Bildschirmausgabe:</p>
<p>Also eine simple 3x3-&quot;Karte&quot;<br />
Ich verstehe jedoch nicht, welcher Wert bei &quot;cout &lt;&lt; Karte[x][y]&quot; angezeigt wird.<br />
Müsste er nicht zwei Werte (x und y) anzeigen? Ich versteh das Prinzip nicht so ganz und hoffe, ihr könnt mir helfen.</p>
<p>Ich verstehe zudem nicht, was genau passiert, wenn &quot;Karte[x][y] = Zähler&quot; stattfindet. Ist der Zähler bei 0, heißt das, dass dann &quot;Karte[0][0]&quot; ist?<br />
Ich hoffe, ihr versteht mein Problem!<br />
Hier noch die Bildschirmausgabe und darunter der Code!</p>
<p>______________<br />
012<br />
345<br />
678<br />
______________</p>
<pre><code>int main()
{
	int ende;
	const int Breite  = 3;
	const int Hoehe = 3;

	int x, y;
	int Karte[Breite][Hoehe];

	int Zaehler = 0;

	for (y=0; y&lt;Hoehe; y++)
	{
		for (x=0; x&lt;Breite; x++)
		{
			Karte[x] [y] = Zaehler;
			Zaehler++;
		}
	}

	for(y=0; y&lt;Hoehe; y++)
	{
		for(x=0; x&lt;Breite; x++)
		{
			cout &lt;&lt; Karte[x] [y];
		}

		cout &lt;&lt; endl;
	}

return 0;
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/2323642</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2323642</guid><dc:creator><![CDATA[Sacume]]></dc:creator><pubDate>Wed, 15 May 2013 23:34:37 GMT</pubDate></item><item><title><![CDATA[Reply to Anfängerfrage zu mehrdimensionalen Arrays (Absolut blutiger Beginner) on Thu, 16 May 2013 00:22:56 GMT]]></title><description><![CDATA[<p>Hi Sacume,</p>
<p>ich habe oft das Gefühl, dass das &quot;Dimensionsdenken&quot; nur irreführend ist. Ich würde daher einfach C++-ig denken. Also, es gibt Regeln die besagen, wie man eine Deklaration zu lesen hat.</p>
<pre><code>int Karte[3][3];
</code></pre>
<p>Die Deklaration von <code>Karte</code> liest man so: <code>Karte</code> ist ein Array von 3 Arrays von 3 <code>int</code> s. So, du hast dir also ein Array names <code>Karte</code> erstellt. Jedes Element dieses Arrays IST WIEDERUM ein Array (mit 3 <code>int</code> s).<br />
Nun willst du mal einen Zugriff machen, z.B. <code>cout &lt;&lt; Karte[1][2]</code> . Damit wollen wir also das zweite (1+1) Element von Karte ansprechen, also das zweite Array. Von diesem zweite Array wollen wir nun das dritte (2+1) Element ansprechen, also den dritten <code>int</code> .</p>
<p><strong>Beispiel</strong>:</p>
<pre><code>int Karte[3][3] = { /*Array Nr.1:*/ {0,1,2}, /*Array Nr.2:*/ {3,4,5}, /*Array Nr.3:*/ {6,7,8} };
</code></pre>
<p><img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/27a1.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--right_arrow"
      title=":arrow_right:"
      alt="➡"
    /></p>
<pre><code>cout &lt;&lt; Karte[1][2]
</code></pre>
<p>Wie gesagt, wir wollen nun den dritten <code>int</code> vom zweiten Array <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/27a1.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--right_arrow"
      title=":arrow_right:"
      alt="➡"
    /> 5</p>
<p>Ist es nun verständlich?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2323644</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2323644</guid><dc:creator><![CDATA[out]]></dc:creator><pubDate>Thu, 16 May 2013 00:22:56 GMT</pubDate></item><item><title><![CDATA[Reply to Anfängerfrage zu mehrdimensionalen Arrays (Absolut blutiger Beginner) on Thu, 16 May 2013 06:03:22 GMT]]></title><description><![CDATA[<p>Aaaah das würde dann folgendes Bedeuten.<br />
Karte [1][1] =0<br />
Karte [1][2] =1<br />
Karte [1][3] =2<br />
Karte [2][1] =3<br />
Karte [2][2] =4<br />
Karte [2][3] =5<br />
Karte [3][1] =6<br />
Karte [3][2] =7<br />
Karte [3][3] =8<br />
(UND FALLS MAN 4 ARRYS ERSTELLEN SOLLTE)<br />
Karte [4][1] =9<br />
Karte [4][2] =10<br />
Karte [4][3] =11</p>
<p>richtig?<br />
Dann hab ichs einigermaßen Verstanden. Vielen Lieben Dank dafür!!<br />
Aber dennoch verstehe ich dann nicht, was bei</p>
<p>&quot;Karte[x][y] = Zähler&quot; passiert.</p>
<p>Da der Zähler ja immer nur einen Wert annehmen kann, würde die Schleife doch nur 3 mal durchlaufen und wie folgt definieren.<br />
Karte[0][0]<br />
Karte[1][1]<br />
Karte[2][2]<br />
Stattdessen zählt er aber 8 mal und gibt die Werte von 0-8 zurück!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2323653</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2323653</guid><dc:creator><![CDATA[Sacume]]></dc:creator><pubDate>Thu, 16 May 2013 06:03:22 GMT</pubDate></item><item><title><![CDATA[Reply to Anfängerfrage zu mehrdimensionalen Arrays (Absolut blutiger Beginner) on Thu, 16 May 2013 06:31:29 GMT]]></title><description><![CDATA[<p>Karte[x][y] = value<br />
ist eine Zuweisung des wertes &quot;value&quot; zur Arrayposition [x][y]</p>
<p>x,y geben die &quot;Koordinaten&quot; in deinem 2D-Array an und &quot;value&quot; den Wert den Du an der Stelle speichern willst.</p>
<p>Ein Schachbrett könnten wir mit einem Array der Dimension [8][8] modellieren.<br />
Dann wäre Schachbrett[3][2] eben die Figur (abhängig vom Typ des Arrays) an der Stelle (3,2)</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2323657</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2323657</guid><dc:creator><![CDATA[qweasdyxc]]></dc:creator><pubDate>Thu, 16 May 2013 06:31:29 GMT</pubDate></item><item><title><![CDATA[Reply to Anfängerfrage zu mehrdimensionalen Arrays (Absolut blutiger Beginner) on Thu, 16 May 2013 06:39:52 GMT]]></title><description><![CDATA[<p>Sacume schrieb:</p>
<blockquote>
<p>Aaaah das würde dann folgendes Bedeuten.<br />
Karte [1][1] =0<br />
Karte [1][2] =1<br />
Karte [1][3] =2<br />
Karte [2][1] =3<br />
Karte [2][2] =4<br />
Karte [2][3] =5<br />
Karte [3][1] =6<br />
Karte [3][2] =7<br />
Karte [3][3] =8<br />
(UND FALLS MAN 4 ARRYS ERSTELLEN SOLLTE)<br />
Karte [4][1] =9<br />
Karte [4][2] =10<br />
Karte [4][3] =11</p>
<p>richtig?</p>
</blockquote>
<p>Fast. Wir fangen natürlich immer bei 0 an. Du musst unterscheiden zwischen Größe und Index. Bei der Deklaration eines Arrays gibst du die Größe an, z.B. 4. Elemente sprichst du aber mit einem Index an, in dem Fall 0...3.<br />
Also:<br />
Karte [0][0] =0<br />
Karte [0][1] =1<br />
Karte [0][2] =2<br />
Karte [1][3] =3<br />
Karte [1][4] =4<br />
Karte [1][5] =5<br />
Karte [2][6] =6<br />
Karte [2][7] =7<br />
Karte [2][8] =8</p>
<p>Sacume schrieb:</p>
<blockquote>
<p>Aber dennoch verstehe ich dann nicht, was bei</p>
<p>&quot;Karte[x][y] = Zähler&quot; passiert.</p>
<p>Da der Zähler ja immer nur einen Wert annehmen kann, würde die Schleife doch nur 3 mal durchlaufen und wie folgt definieren.</p>
</blockquote>
<p>Wieso einen Wert? Bei mir steht da <code>Zaehler++;</code> . Bei mir läuft die Schleife auch nicht 3 Mal durch, sondern 3*3 Mal, also 9 verschiedene Werte. Oder meinst du nicht? <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f61b.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--face_with_tongue"
      title=":P"
      alt="😛"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/2323663</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2323663</guid><dc:creator><![CDATA[out]]></dc:creator><pubDate>Thu, 16 May 2013 06:39:52 GMT</pubDate></item><item><title><![CDATA[Reply to Anfängerfrage zu mehrdimensionalen Arrays (Absolut blutiger Beginner) on Thu, 16 May 2013 06:42:48 GMT]]></title><description><![CDATA[<p>out schrieb:</p>
<blockquote>
<p>Also:<br />
Karte [0][0] =0<br />
Karte [0][1] =1<br />
Karte [0][2] =2<br />
Karte [1][3] =3<br />
Karte [1][4] =4<br />
Karte [1][5] =5<br />
Karte [2][6] =6<br />
Karte [2][7] =7<br />
Karte [2][8] =8</p>
</blockquote>
<p>Die Indices der zweiten Dimension hast Du verschissen. Yeah, der OP wird bestimmt immer verwirrter <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f603.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--grinning_face_with_big_eyes"
      title=":D"
      alt="😃"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/2323665</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2323665</guid><dc:creator><![CDATA[qweqweqwe]]></dc:creator><pubDate>Thu, 16 May 2013 06:42:48 GMT</pubDate></item><item><title><![CDATA[Reply to Anfängerfrage zu mehrdimensionalen Arrays (Absolut blutiger Beginner) on Thu, 16 May 2013 06:46:02 GMT]]></title><description><![CDATA[<p>Sacume schrieb:</p>
<blockquote>
<p>Aber dennoch verstehe ich dann nicht, was bei</p>
<p>&quot;Karte[x][y] = Zähler&quot; passiert.</p>
<p>Da der Zähler ja immer nur einen Wert annehmen kann, würde die Schleife doch nur 3 mal durchlaufen und wie folgt definieren.<br />
Karte[0][0]<br />
Karte[1][1]<br />
Karte[2][2]<br />
Stattdessen zählt er aber 8 mal und gibt die Werte von 0-8 zurück!</p>
</blockquote>
<p>Deine innere for-Schleife wird dreimal durchlaufen:<br />
Karte[0][0]<br />
Karte[1][0]<br />
Karte[2][0]</p>
<p>danach folgt der nächste Durchlauf der äußeren for-Schleife, innerhalb dessen die innere Schleife wiederum dreimal durchlaufen wird:<br />
Karte[0][1]<br />
Karte[1][1]<br />
Karte[2][1]</p>
<p>usw.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2323666</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2323666</guid><dc:creator><![CDATA[Belli]]></dc:creator><pubDate>Thu, 16 May 2013 06:46:02 GMT</pubDate></item><item><title><![CDATA[Reply to Anfängerfrage zu mehrdimensionalen Arrays (Absolut blutiger Beginner) on Thu, 16 May 2013 06:47:00 GMT]]></title><description><![CDATA[<p>Huch, danke qweqweqwe. Ich meinte natürlich<br />
Karte [0][0] =0<br />
Karte [0][1] =1<br />
Karte [0][2] =2<br />
Karte [1][0] =3<br />
Karte [1][1] =4<br />
Karte [1][2] =5<br />
Karte [2][0] =6<br />
Karte [2][1] =7<br />
Karte [2][2] =8<br />
<img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/27a1.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--right_arrow"
      title=":arrow_right:"
      alt="➡"
    /> Für ein Array <code>[3][3]</code> .</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2323667</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2323667</guid><dc:creator><![CDATA[out]]></dc:creator><pubDate>Thu, 16 May 2013 06:47:00 GMT</pubDate></item><item><title><![CDATA[Reply to Anfängerfrage zu mehrdimensionalen Arrays (Absolut blutiger Beginner) on Thu, 16 May 2013 11:56:38 GMT]]></title><description><![CDATA[<p>Wow, dieses Forum ist echt super!<br />
Ich habs verstanden, was ich ehrlich gesagt nicht erwartet hatte.<br />
Vielen Dank an alle für diese schnellen und vorallem guten Antworten!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2323721</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2323721</guid><dc:creator><![CDATA[Sacume]]></dc:creator><pubDate>Thu, 16 May 2013 11:56:38 GMT</pubDate></item></channel></rss>