<?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[2-D Array Speicherproblem [solved]]]></title><description><![CDATA[<p>Hallo,</p>
<p>mittels einer Klasse lege ich ein dyn. 2-D Array an. In der Klassendeklaration sind folgende Werte private:</p>
<pre><code class="language-cpp">int 		n; 		// Dimension
double		**Matrix;       // Die Matrix
int		MAX_DIM;	// Maximale Dimension
int 		MAX_WIDTH;	// Maximale Breite der Bandmatrix
</code></pre>
<p>So. Sagen wir mal die MAX_WIDTH wird im Konstruktor mit 3 initialisiert.</p>
<p>Wenn ich jetzt mit:</p>
<pre><code class="language-cpp">Matrix = new double*[MAX_WIDTH];

	for (int i=0; i&lt; n; i++){
		Matrix[i] = new double[MAX_WIDTH];
	}
</code></pre>
<p>den Speicherplatz für die Zeilen erzeuge (was auch klappt), und dann mittels</p>
<pre><code class="language-cpp">for (int i=0; i &lt; n; i++) {
		 for (int j=0; j &lt; MAX_WIDTH; j++) {
			 Matrix[i][j] = 1.;
		 }
	}
</code></pre>
<p>Die Matrix initialisieren will, klappt das nur bei bis zu 4 Zeilen. Wenn das erste Element der 5. Zeile mit sagen wir mal Matrix[4][0] = 1.; initialisiert werden soll, bleibt das Programm hängen.</p>
<p>Warum geht es bis zur 4. Zeile (also 0-3) problemlos, und danach nicht mehr???</p>
<p><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>
]]></description><link>https://www.c-plusplus.net/forum/topic/210466/2-d-array-speicherproblem-solved</link><generator>RSS for Node</generator><lastBuildDate>Tue, 13 Oct 2026 13:38:25 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/210466.rss" rel="self" type="application/rss+xml"/><pubDate>Fri, 11 Apr 2008 10:07:19 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to 2-D Array Speicherproblem [solved] on Fri, 11 Apr 2008 10:22:03 GMT]]></title><description><![CDATA[<p>Hallo,</p>
<p>mittels einer Klasse lege ich ein dyn. 2-D Array an. In der Klassendeklaration sind folgende Werte private:</p>
<pre><code class="language-cpp">int 		n; 		// Dimension
double		**Matrix;       // Die Matrix
int		MAX_DIM;	// Maximale Dimension
int 		MAX_WIDTH;	// Maximale Breite der Bandmatrix
</code></pre>
<p>So. Sagen wir mal die MAX_WIDTH wird im Konstruktor mit 3 initialisiert.</p>
<p>Wenn ich jetzt mit:</p>
<pre><code class="language-cpp">Matrix = new double*[MAX_WIDTH];

	for (int i=0; i&lt; n; i++){
		Matrix[i] = new double[MAX_WIDTH];
	}
</code></pre>
<p>den Speicherplatz für die Zeilen erzeuge (was auch klappt), und dann mittels</p>
<pre><code class="language-cpp">for (int i=0; i &lt; n; i++) {
		 for (int j=0; j &lt; MAX_WIDTH; j++) {
			 Matrix[i][j] = 1.;
		 }
	}
</code></pre>
<p>Die Matrix initialisieren will, klappt das nur bei bis zu 4 Zeilen. Wenn das erste Element der 5. Zeile mit sagen wir mal Matrix[4][0] = 1.; initialisiert werden soll, bleibt das Programm hängen.</p>
<p>Warum geht es bis zur 4. Zeile (also 0-3) problemlos, und danach nicht mehr???</p>
<p><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>
]]></description><link>https://www.c-plusplus.net/forum/post/1490227</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1490227</guid><dc:creator><![CDATA[king-al]]></dc:creator><pubDate>Fri, 11 Apr 2008 10:22:03 GMT</pubDate></item><item><title><![CDATA[Reply to 2-D Array Speicherproblem [solved] on Fri, 11 Apr 2008 10:17:28 GMT]]></title><description><![CDATA[<p>king-al schrieb:</p>
<blockquote>
<p>Hallo,<br />
So. Sagen wir mal die MAX_WIDTH wird im Konstruktor mit 3 initialisiert.<br />
...</p>
<p>Warum geht es bis zur 4. Zeile (also 0-3) problemlos, und danach nicht mehr???</p>
</blockquote>
<p>Denk mal drüber nach vielleicht gibt es ja einen Zusammenhang <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f609.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--winking_face"
      title=";)"
      alt="😉"
    /></p>
<p>schirrmie</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1490228</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1490228</guid><dc:creator><![CDATA[schirrmie]]></dc:creator><pubDate>Fri, 11 Apr 2008 10:17:28 GMT</pubDate></item><item><title><![CDATA[Reply to 2-D Array Speicherproblem [solved] on Fri, 11 Apr 2008 10:21:33 GMT]]></title><description><![CDATA[<p>phfuck... <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>
<pre><code class="language-cpp">Matrix = new double*[MAX_WIDTH];
</code></pre>
<p>muss natürlich richtig:</p>
<pre><code class="language-cpp">Matrix = new double*[n];
</code></pre>
<p>n= Dimension lauten...</p>
<p><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>danke schirrmie</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1490230</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1490230</guid><dc:creator><![CDATA[king-al]]></dc:creator><pubDate>Fri, 11 Apr 2008 10:21:33 GMT</pubDate></item><item><title><![CDATA[Reply to 2-D Array Speicherproblem [solved] on Fri, 11 Apr 2008 11:13:09 GMT]]></title><description><![CDATA[<p>gelöscht</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1490262</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1490262</guid><dc:creator><![CDATA[Th69]]></dc:creator><pubDate>Fri, 11 Apr 2008 11:13:09 GMT</pubDate></item><item><title><![CDATA[Reply to 2-D Array Speicherproblem [solved] on Fri, 11 Apr 2008 11:12:43 GMT]]></title><description><![CDATA[<p>Rechteckige 2D-Arrays macht man nicht mit „dynamischem Array von dynamischen Arrays“! Niemals, Niemals, NIEMALS!<br />
(Gründe kannste dir selbst überlegen, vor allem im Vergleich zu der folgenden Möglichkeit)</p>
<p>Du solltest die Matrix linear auffassen und den Index umrechnen (a[x, y] wird zu a[x + y * zeilenbreite] oder a[x * spaltenhöhe + y]). So macht's der Compiler auch, wenn du „Array von statischen Arrays“ benutzt.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1490264</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1490264</guid><dc:creator><![CDATA[.filmor]]></dc:creator><pubDate>Fri, 11 Apr 2008 11:12:43 GMT</pubDate></item></channel></rss>