<?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[Array kommt irgentwo durcheinander.]]></title><description><![CDATA[<p>Hallo,</p>
<p>Ich habe folgendes Problem: Ich wollte einfach<br />
ein kleines Schiffe versenken mit C++ programmieren das in der Eingabeaufforderung läuft.<br />
Dafür habe ich 2 char Arrays, 10 hoch 10 breit(system_player[10][10]), angelegt die ich, mit 2 for-schleifen, als &quot;Untergrund&quot;<br />
mit einfachen Punkten: '.' fülle und dann wieder mit for-schleifen<br />
ausgeben lasse.<br />
Jetzt kommt aber irgentwas komplett durcheinander und die komplette Koordinaten-<br />
reihe für die y = 0 ist ist dort wo y = 9 sein sollte und koordinate (0|0) vom gegnerischen Feld liegt bei (9|9) vom Feld des Spielers also irgentwie total<br />
verrrutscht. Der Rest stimmt so aber ich frage mich was da falsch läuft vielleicht<br />
könnt ihr mir ja weiterhelfen. Ich benutze zurzeit Ein Linux OS und Code::Blocks<br />
Hier die Schleifen zum füllen und ausgeben der Arrays.</p>
<pre><code>//Füllen der arrays

for (int y = 10; y != 0; y--)
{	
	for (int x = 0; x != 10; x++)
	{
		system_player[x][y] = ground_player;
		system_enemy[x][y] = ground_enemy;
	}
}
</code></pre>
<pre><code>//ausgeben der arrays
clearscreen; //definiert als: #define clearscreen cout&lt;&lt;&quot;\033[2J\033[1;1H&quot;;
for(int y = 10; y != 0; y--)
{
	cout&lt;&lt;y-1&lt;&lt;&quot; &quot;;

	for (int x = 0; x != 10; x++)
	{
		cout&lt;&lt;system_player[x][y]&lt;&lt;&quot; &quot;;
	}

	cout&lt;&lt;&quot;      &quot;;

	cout&lt;&lt;y-1&lt;&lt;&quot; &quot;;

	for (int x = 0; x != 10; x++)
	{
		cout&lt;&lt;system_enemy[x][y]&lt;&lt;&quot; &quot;;
	}
	cout&lt;&lt;endl;
}

cout&lt;&lt;&quot;  0 1 2 3 4 5 6 7 8 9         0 1 2 3 4 5 6 7 8 9 &quot;&lt;&lt;endl;
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/topic/327462/array-kommt-irgentwo-durcheinander</link><generator>RSS for Node</generator><lastBuildDate>Thu, 09 Jul 2026 11:43:51 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/327462.rss" rel="self" type="application/rss+xml"/><pubDate>Wed, 13 Aug 2014 13:11:24 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Array kommt irgentwo durcheinander. on Wed, 13 Aug 2014 13:12:45 GMT]]></title><description><![CDATA[<p>Hallo,</p>
<p>Ich habe folgendes Problem: Ich wollte einfach<br />
ein kleines Schiffe versenken mit C++ programmieren das in der Eingabeaufforderung läuft.<br />
Dafür habe ich 2 char Arrays, 10 hoch 10 breit(system_player[10][10]), angelegt die ich, mit 2 for-schleifen, als &quot;Untergrund&quot;<br />
mit einfachen Punkten: '.' fülle und dann wieder mit for-schleifen<br />
ausgeben lasse.<br />
Jetzt kommt aber irgentwas komplett durcheinander und die komplette Koordinaten-<br />
reihe für die y = 0 ist ist dort wo y = 9 sein sollte und koordinate (0|0) vom gegnerischen Feld liegt bei (9|9) vom Feld des Spielers also irgentwie total<br />
verrrutscht. Der Rest stimmt so aber ich frage mich was da falsch läuft vielleicht<br />
könnt ihr mir ja weiterhelfen. Ich benutze zurzeit Ein Linux OS und Code::Blocks<br />
Hier die Schleifen zum füllen und ausgeben der Arrays.</p>
<pre><code>//Füllen der arrays

for (int y = 10; y != 0; y--)
{	
	for (int x = 0; x != 10; x++)
	{
		system_player[x][y] = ground_player;
		system_enemy[x][y] = ground_enemy;
	}
}
</code></pre>
<pre><code>//ausgeben der arrays
clearscreen; //definiert als: #define clearscreen cout&lt;&lt;&quot;\033[2J\033[1;1H&quot;;
for(int y = 10; y != 0; y--)
{
	cout&lt;&lt;y-1&lt;&lt;&quot; &quot;;

	for (int x = 0; x != 10; x++)
	{
		cout&lt;&lt;system_player[x][y]&lt;&lt;&quot; &quot;;
	}

	cout&lt;&lt;&quot;      &quot;;

	cout&lt;&lt;y-1&lt;&lt;&quot; &quot;;

	for (int x = 0; x != 10; x++)
	{
		cout&lt;&lt;system_enemy[x][y]&lt;&lt;&quot; &quot;;
	}
	cout&lt;&lt;endl;
}

cout&lt;&lt;&quot;  0 1 2 3 4 5 6 7 8 9         0 1 2 3 4 5 6 7 8 9 &quot;&lt;&lt;endl;
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/2413252</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2413252</guid><dc:creator><![CDATA[MNowo]]></dc:creator><pubDate>Wed, 13 Aug 2014 13:12:45 GMT</pubDate></item><item><title><![CDATA[Reply to Array kommt irgentwo durcheinander. on Wed, 13 Aug 2014 13:15:13 GMT]]></title><description><![CDATA[<p>MNowo schrieb:</p>
<blockquote>
<pre><code>//Füllen der arrays

for (int y = 10; y != 0; y--)
{	
	for (int x = 0; x != 10; x++)
	{
		system_player[x][y] = ground_player;
		system_enemy[x][y] = ground_enemy;
	}
}
</code></pre>
</blockquote>
<p>Du zählst außen von Zehn bis Eins und innen von Null bis Neun...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2413253</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2413253</guid><dc:creator><![CDATA[Caligulaminus]]></dc:creator><pubDate>Wed, 13 Aug 2014 13:15:13 GMT</pubDate></item><item><title><![CDATA[Reply to Array kommt irgentwo durcheinander. on Wed, 13 Aug 2014 15:45:26 GMT]]></title><description><![CDATA[<p>Okay danke den Fehler hatte ich nicht bemerkt an meinem Problem ändert das leider nichts.<br />
Edit:Aber wenn du dich wunderst wieso ich so zähle das mache ich damit das Koordinatensystem richtig herum ist und nicht auf dem Kopf steht.</p>
<pre><code>cout&lt;&lt;system_player[12][12]
</code></pre>
<p>erzeugt auch die ausgabe '.'<br />
obwohl system_player folgendermaßen deklariert wurde:</p>
<pre><code>char system_player[10][10];
</code></pre>
<p>Hääh was habe ich jetzt an arrays nicht verstanden?? <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f615.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--confused_face"
      title=":confused:"
      alt="😕"
    /> <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>
]]></description><link>https://www.c-plusplus.net/forum/post/2413255</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2413255</guid><dc:creator><![CDATA[MNowo]]></dc:creator><pubDate>Wed, 13 Aug 2014 15:45:26 GMT</pubDate></item><item><title><![CDATA[Reply to Array kommt irgentwo durcheinander. on Wed, 13 Aug 2014 18:20:26 GMT]]></title><description><![CDATA[<p>MNowo schrieb:</p>
<blockquote>
<p>Hääh was habe ich jetzt an arrays nicht verstanden?? <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f615.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--confused_face"
      title=":confused:"
      alt="😕"
    /> <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>
</blockquote>
<p>C++ ist kein Ponyhof. Wenn du über die Grenzen eines Arrays zugreifst, dann passiert eben genau das, ohne jede Warnung. Was die Folge davon ist, ist jedoch undefiniert. Insbesondere kann das auch mal gut gehen<sup>*</sup>. In dem Fall bekommst du eben die Daten die zufällig an der Stelle hinter dem Array stehen.</p>
<p><sup>*</sup>: Das Programm ist natürlich trotzdem falsch.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2413315</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2413315</guid><dc:creator><![CDATA[SeppJ]]></dc:creator><pubDate>Wed, 13 Aug 2014 18:20:26 GMT</pubDate></item><item><title><![CDATA[Reply to Array kommt irgentwo durcheinander. on Wed, 13 Aug 2014 18:40:48 GMT]]></title><description><![CDATA[<p>Deswegen habe ich Ja extra die Zählschleife angelegt ich habe jetzt nur zufällig<br />
mal geguckt was passiert wenn ich über die Grenzen des Array hinaus zugreife aber das macht doch alles keinen Sinn ich greife nirgendwo sonst als in diesen Funktionen auf die Arrays zu sie stehen in einer Klasse und sind private.<br />
Meinst du mein gesamtes Programm ist falsch weil die Arrays so unvorhersehbar reagieren oder meinst du nur diese Code-Schnipsel?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2413320</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2413320</guid><dc:creator><![CDATA[MNowo]]></dc:creator><pubDate>Wed, 13 Aug 2014 18:40:48 GMT</pubDate></item><item><title><![CDATA[Reply to Array kommt irgentwo durcheinander. on Wed, 13 Aug 2014 18:44:07 GMT]]></title><description><![CDATA[<p>MNowo schrieb:</p>
<blockquote>
<p>Meinst du mein gesamtes Programm ist falsch [...] ?</p>
</blockquote>
<p>Wie wär's wenn du's mal posten würdest?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2413322</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2413322</guid><dc:creator><![CDATA[Swordfish]]></dc:creator><pubDate>Wed, 13 Aug 2014 18:44:07 GMT</pubDate></item><item><title><![CDATA[Reply to Array kommt irgentwo durcheinander. on Wed, 13 Aug 2014 19:00:21 GMT]]></title><description><![CDATA[<p>Okay das wäre das sieht folgendermaßen aus:</p>
<pre><code>// main.cpp
#include &quot;field.h&quot;

int main()
{
    C_field Field;
    Field.show_menu();
}
</code></pre>
<pre><code>//field.h

#include &lt;string&gt;
#include &lt;iostream&gt;
#include &lt;vector&gt;
#include &lt;stdio.h&gt;
#include &quot;player.h&quot;
#define clearscreen cout&lt;&lt;&quot;\033[2J\033[1;1H&quot;;

using namespace std;

class C_field
{
	private:
	vector&lt;C_player&gt;players;
	char position;
	char menu_choice;
	char ground_player;
	char ground_enemy;
	char system_player[10][10];
	char system_enemy[10][10];

	public:
	C_field();
	string get_users_name();
	void show_menu();
	void show_battlefield();
	void refill_system(string unit);
	void show_option_menu();
	void show_battlebeginUI();
	void show_battleUI();
	void show_shipsetUI();

};
</code></pre>
<pre><code>//field.cpp

#include &quot;field.h&quot;

C_field::C_field()
{
	C_player enemy(&quot;Enemy&quot;);
	players.push_back(enemy);
	C_player player(get_users_name());
	players.push_back(player);

	ground_player = '.';
	ground_enemy = '.';

	for (int y = 10; y != -1; y--)
	{
		for (int x = 0; x != 11; x++)
		{
			system_player[x][y] = ground_player;
			system_enemy[x][y] = ground_enemy;
		}
	}

}

string C_field::get_users_name()
{
	string user_name;
	cout&lt;&lt;&quot;Bitte Namen eingeben: &quot;;
	cin&gt;&gt;user_name;
	return(user_name);
}

void C_field::show_menu()
{
	bool run = true;

	while(run)
	{

		clearscreen;

		cout&lt;&lt;&quot;B + Enter: Spielen&quot;&lt;&lt;endl
			&lt;&lt;&quot;O + Enter: Optionen&quot;&lt;&lt;endl
			&lt;&lt;&quot;Q + Enter: Beenden&quot;&lt;&lt;endl
			&lt;&lt;&quot;&gt;&quot;;
			menu_choice = cin.get();

			switch(menu_choice)
			{
				case 'b':
				{
					show_battlebeginUI();
					break;
				}
				case 'o':
				{
					show_option_menu();
					break;
				}
				case 'q':
				{
					run = false;
					break;
				}
			}

		}
}

void C_field::show_option_menu()
{
	bool run = true;

	while(run)
	{

		clearscreen;

		cout&lt;&lt;&quot;P + Enter: Untergrund des Spielers aendern: &quot;&lt;&lt;ground_player&lt;&lt;endl
			&lt;&lt;&quot;E + Enter: Untergrund des Gegners aendern: &quot;&lt;&lt;ground_enemy&lt;&lt;endl
			&lt;&lt;&quot;N + Enter: Eigenen Namen aendern: &quot;&lt;&lt;players[1].name&lt;&lt;endl
			&lt;&lt;&quot;G + Enter: Namen des Gegners aendern: &quot;&lt;&lt;players[0].name&lt;&lt;endl
			&lt;&lt;&quot;Q + Enter: Zureuck&quot;&lt;&lt;endl
			&lt;&lt;&quot;&gt;&quot;;
			cin&gt;&gt;menu_choice;

			switch(menu_choice)
			{
				case 'p':
				{
					cout&lt;&lt;&quot;Gewuenschtes Zeichen eingeben: &quot;;
					cin&gt;&gt;ground_player;
					refill_system(&quot;player&quot;);
					break;
				}
				case 'e':
				{
					cout&lt;&lt;&quot;Gewuenschtes Zeichen eingeben: &quot;;
					cin&gt;&gt;ground_enemy;
					refill_system(&quot;enemy&quot;);
					break;
				}
				case 'n':
				{
					cout&lt;&lt;&quot;Neuen Namen fuer den Spieler eingeben: &quot;;
					cin&gt;&gt;players[1].name;
					break;
				}
				case 'g':
				{
					cout&lt;&lt;&quot;Neuen Namen fuer den Gegner eingeben: &quot;;
					cin&gt;&gt;players[0].name;
					break;
				}
				case 'q':
				{
					run = false;
					break;
				}
			}

	}
}

void C_field::refill_system(string unit)
{
	if(unit == &quot;player&quot;)
	{
		for (int y = 10; y != -1; y--)
		{
			for (int x = 0; x != 11; x++)
			{
				system_player[x][y] = ground_player;
			}
		}
	}
	else if(unit == &quot;enemy&quot;)
	{
		for (int y = 10; y != -1; y--)
		{
			for (int x = 0; x != 11; x++)
			{
				system_enemy[x][y] = ground_enemy;
			}
		}
	}
}

void C_field::show_battlebeginUI()
{
	bool run = true;

	while (run)
	{
		clearscreen;
		show_battlefield();
		cout&lt;&lt;&quot;B + Enter: Spiel Beginnen&quot;&lt;&lt;endl
			&lt;&lt;&quot;O + Enter: Optionen&quot;&lt;&lt;endl
			&lt;&lt;&quot;Q + Enter: Spiel Verlassen&quot;&lt;&lt;endl
			&lt;&lt;&quot;&gt;&quot;;
			cin&gt;&gt;menu_choice;

			switch(menu_choice)
			{
				case 'b':
				{
					show_shipsetUI();
					break;
				}
				case 'o':
				{
					show_option_menu();
					break;
				}
				case 'q':
				{
					run = false;
					refill_system(&quot;player&quot;);
					refill_system(&quot;enemy&quot;);
					break;
				}
				case '`':
				{
					int x,y;
					cin&gt;&gt;x;
					cin&gt;&gt;y;
					system_enemy[x][y] = '*';
					break;
				}
				default:
				{
					cout&lt;&lt;&quot;Keine gueltige Eingabe!&quot;;
					cin.ignore();
					break;
				}
			}
	}
}

void C_field::show_battlefield()
{
	clearscreen;
	for(int y = 10; y != 0; y--)
	{
		cout&lt;&lt;y-1&lt;&lt;&quot; &quot;;

		for (int x = 0; x != 10; x++)
		{
			cout&lt;&lt;system_player[x][y]&lt;&lt;&quot; &quot;;
		}

		cout&lt;&lt;&quot;      &quot;;

		cout&lt;&lt;y-1&lt;&lt;&quot; &quot;;

		for (int x = 0; x != 10; x++)
		{
			cout&lt;&lt;system_enemy[x][y]&lt;&lt;&quot; &quot;;
		}
		cout&lt;&lt;endl;
	}

	cout&lt;&lt;&quot;  0 1 2 3 4 5 6 7 8 9         0 1 2 3 4 5 6 7 8 9 &quot;&lt;&lt;endl;
}

void C_field::show_shipsetUI()
{

	bool run = true;
	int x,y;

	while(run)
	{
		show_battlefield();
		cout&lt;&lt;&quot;Bitte Schiffe platzieren dazu zuerst eine X- und dann eine Y-Koordinate eingeben&quot;&lt;&lt;endl
			&lt;&lt;&quot;Tanker: &quot;&lt;&lt;players[1].num_tanks&lt;&lt;endl
			&lt;&lt;&quot;Kriegsschiffe: &quot;&lt;&lt;players[1].num_warships&lt;&lt;endl
			&lt;&lt;&quot;Rettungsboote: &quot;&lt;&lt;players[1].num_savers&lt;&lt;endl
			&lt;&lt;&quot;&gt;X: &quot;;
			cin&gt;&gt;x;
			cout&lt;&lt;endl&lt;&lt;&quot;&gt;Y: &quot;;
			cin&gt;&gt;y;

	}
}
</code></pre>
<pre><code>//player.h

#include &lt;iostream&gt;
#include &lt;map&gt;
#include &lt;string&gt;

using namespace std;

class C_player
{
	public:
	string name;
	int num_ships, num_tanks, num_warships, num_savers;
	map&lt;string, C_ship&gt; ships;
	C_player(string namee);
};
</code></pre>
<pre><code>//player.cpp

#include &quot;player.h&quot;

C_player::C_player(string namee)
{
	name = namee;
	num_ships = 0;
	num_warships = 2;
	num_tanks = 2;
	num_savers = 2;
}
</code></pre>
<p>Ich möchte in diesem Zeitpunkt der Blöße darauf hinweisen das, ich weder beruflich, noch ausbildungs/studientechnisch mit C++ und Programmierung an sich<br />
zu tun habe sondern programmiere weil ich es liebe meine Ideen in Prorammen<br />
verwirklichen zu können und wirklich ALLES machen zu können von sinnlos bis<br />
tatsächlich nütlich. Es ist eine Beschäftigung für mich und die Eleganz meiner<br />
Programmierung und die sinnvolle ausführung liegen allein in meinem Ermessen und ich bin lediglich an der Lösung meines Problems interessiert.<br />
Ich hoffe ihr könnt mit dem obigen Code etwas anfangen und mir Helfen.<br />
Vielen Dank.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2413327</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2413327</guid><dc:creator><![CDATA[MNowo]]></dc:creator><pubDate>Wed, 13 Aug 2014 19:00:21 GMT</pubDate></item><item><title><![CDATA[Reply to Array kommt irgentwo durcheinander. on Wed, 13 Aug 2014 19:29:55 GMT]]></title><description><![CDATA[<p>Da fehlt irgendwas:</p>
<pre><code>'C_ship': undeclared identifier
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/2413334</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2413334</guid><dc:creator><![CDATA[Swordfish]]></dc:creator><pubDate>Wed, 13 Aug 2014 19:29:55 GMT</pubDate></item><item><title><![CDATA[Reply to Array kommt irgentwo durcheinander. on Wed, 13 Aug 2014 19:36:32 GMT]]></title><description><![CDATA[<p>Oh ja tut mir leid einfach bei player.h</p>
<pre><code>map&lt;string, c_ship&gt;ships;
</code></pre>
<p>rausnehmen ich hatte das jetzt schon gemacht tut mir Leid.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2413336</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2413336</guid><dc:creator><![CDATA[MNowo]]></dc:creator><pubDate>Wed, 13 Aug 2014 19:36:32 GMT</pubDate></item><item><title><![CDATA[Reply to Array kommt irgentwo durcheinander. on Wed, 13 Aug 2014 21:11:55 GMT]]></title><description><![CDATA[<p>MNowo schrieb:</p>
<blockquote>
<pre><code>C_field::C_field()
{
    C_player enemy(&quot;Enemy&quot;);
    players.push_back(enemy);
    C_player player(get_users_name());
    players.push_back(player);  // einen vector fuer konstant 2 Spieler? rly?
 
 
    ground_player = '.';  // Initialisierungsliste
    ground_enemy = '.';   // verwenden!
 
    for (int y = 10; y != -1; y--)  // zählt von 10 bis 0 ... die Dimension geht aber nur von 0 bis 9
                                    // warum zählst du rückwärts?
    {
        for (int x = 0; x != 11; x++)  // zählt von 0 bis 10 ... die Dimension geht aber nur von 0 bis 9
        {
            system_player[x][y] = ground_player;
            system_enemy[x][y] = ground_enemy;
        }
    }

    // warum nicht gleich std::memset() ?
 
}
</code></pre>
</blockquote>
<p>Gleiche Kacke in <code>C_field::refill_system()</code> , ähnliche Kacke in <code>C_field::show_battlefield()</code> .</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2413356</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2413356</guid><dc:creator><![CDATA[Swordfish]]></dc:creator><pubDate>Wed, 13 Aug 2014 21:11:55 GMT</pubDate></item><item><title><![CDATA[Reply to Array kommt irgentwo durcheinander. on Thu, 14 Aug 2014 09:26:29 GMT]]></title><description><![CDATA[<p>Hey danke das du dich mit meinem Code beschäftigt hast,<br />
das mit dem Bedingungswert in der Zählschleife stimmt<br />
wieso ich rückwärts zähle habe ich oben schonmal erklärt.<br />
memset() habe ich nicht benutzt weil ich es nicht kenne.<br />
Deine ganzen Einwände bieten trotzdem keinen Lösungsansatz für<br />
mein Problem dar und ich wäre wirklich sehr dankbar wenn eher etwas in der<br />
Hinsicht käme.<br />
Ausserdem scheint die komplette Reihe im Spielfeld von Spieler und Gegner<br />
wo y = 9 sein sollte y = 0 zu sein x werte von -9 bis 10 zu besetzen und zum Gegnerischen Spielfeld zu gehören. Wie kann denn das alles sein?<br />
Edit: Ich habe jetzt nochmal vom Spieler Feld aus die Koordinaten besetzt<br />
und da geht die Reihe bis (20|0) das ist doch garnicht möglich alles ?!?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2413416</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2413416</guid><dc:creator><![CDATA[MNowo]]></dc:creator><pubDate>Thu, 14 Aug 2014 09:26:29 GMT</pubDate></item><item><title><![CDATA[Reply to Array kommt irgentwo durcheinander. on Thu, 14 Aug 2014 09:17:31 GMT]]></title><description><![CDATA[<p>Swordfish schrieb:</p>
<blockquote>
<p>// warum nicht gleich std::memset() ?</p>
</blockquote>
<p>Warum ::memset wenn es std::fill gibt?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2413419</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2413419</guid><dc:creator><![CDATA[std__upset]]></dc:creator><pubDate>Thu, 14 Aug 2014 09:17:31 GMT</pubDate></item><item><title><![CDATA[Reply to Array kommt irgentwo durcheinander. on Thu, 14 Aug 2014 09:51:43 GMT]]></title><description><![CDATA[<p>Hallo MNowo,</p>
<p>du <strong>darfst</strong> auf Arrays nur innerhalb der Indexgrenzen zugreifen, d.h. wenn du ein Array mit 10 Elementen dafiniert hast, dann darfst du nur die Indizes 0 bis 9 benutzen:</p>
<pre><code class="language-cpp">for (int y = 0; y &lt; 10; ++y)
{
    for (int x = 0; x &lt; 10; ++x)
    {
        system_player[x][y] = ground_player;
        system_enemy[x][y] = ground_enemy;
    }
}
</code></pre>
<p>Deine Erklärung bzgl. &quot;Rückwärtszählen&quot; ist außerdem falsch (weil es hier doch gar nicht auf die Darstellung ankommt)!</p>
<p>Und deine anderen Schleifen auch entsprechend anpassen!!!</p>
<p>Und wenn du bei der Darstellung in show_battlefield() die Anzeige umdrehen willst (also oben die letzte Zeile des Arrays), dann entweder als Index '9-y' benutzen oder aber</p>
<pre><code class="language-cpp">for (int y = 9; y &gt;= 0; --y)
</code></pre>
<p>verwenden.</p>
<p>Außerdem als Tipp: keine Magic-Numbers verwenden, sondern definiere dir 2 Konstanten:</p>
<pre><code class="language-cpp">const int MaxX = 10;
const int MaxY = 10;
</code></pre>
<p>und benutze diese überall in deinem Programmcode!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2413424</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2413424</guid><dc:creator><![CDATA[Th69]]></dc:creator><pubDate>Thu, 14 Aug 2014 09:51:43 GMT</pubDate></item><item><title><![CDATA[Reply to Array kommt irgentwo durcheinander. on Thu, 14 Aug 2014 10:26:36 GMT]]></title><description><![CDATA[<p>Hallo TH69,<br />
ich danke dir vielmals für diese Konstruktiven und<br />
gut hinterlegten Vorschläge.<br />
Ich habe alles gemacht was du geschrieben hast, geändert hat sich allerdings<br />
immer noch nichts und ich verstehe nicht wieso sich die arrays so merkwürdig<br />
verhalten wie sie es eigentlich ja garnicht KÖNNEN.<br />
EDIT: Ich habejetzt schonmal einen grossen Fehler gefunden dessen behebung<br />
mich schonmal einen grossen Schritt weiter bringt undzwar greife ich immer mit<br />
z.B. system_player[x][y] auf die arrays zu statt mit system_player[y][x]<br />
EDIT 2:SO ich habe mein Problem jetzt gelöst ich danke allen die sich die Zeit genommen haben und sich mit diesem Thema beschäftigt haben</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2413430</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2413430</guid><dc:creator><![CDATA[MNowo]]></dc:creator><pubDate>Thu, 14 Aug 2014 10:26:36 GMT</pubDate></item><item><title><![CDATA[Reply to Array kommt irgentwo durcheinander. on Thu, 14 Aug 2014 11:12:19 GMT]]></title><description><![CDATA[<p>std__upset schrieb:</p>
<blockquote>
<p>Swordfish schrieb:</p>
<blockquote>
<p>// warum nicht gleich std::memset() ?</p>
</blockquote>
<p>Warum ::memset wenn es std::fill gibt?</p>
</blockquote>
<p>Weil ich C-geschädigt bin.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2413449</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2413449</guid><dc:creator><![CDATA[Swordfish]]></dc:creator><pubDate>Thu, 14 Aug 2014 11:12:19 GMT</pubDate></item></channel></rss>