<?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[Dynamisches Array]]></title><description><![CDATA[<p>Guten Morgen!</p>
<p>Ich habe Schwierigkeiten mit einem dynamischen Array.<br />
Der Code meiner Funktion sieht augenblicklich so aus:</p>
<pre><code>void einkaufBrett(int laengeNeu, Holzsorten holzsorte, int *bestandM){

    if(holzsorte == 2){
        int *bestandM1 = new int[++brettlaengen];

        for(int i = 0; i &lt; brettlaengen; ++i){
            bestandM1[i] = bestandM[i];
            bestandM1[brettlaengen-1] = laengeNeu;
        }

        bestandM1[brettlaengen-1] = laengeNeu;

        delete [] bestandM;

        cout &lt;&lt; endl;
        cout &lt;&lt; &quot;Mahagoni - vorhandene Laengen: &quot; &lt;&lt; endl;

        for(int i = 0; i &lt; brettlaengen; ++i){
            cout &lt;&lt; bestandM[i] &lt;&lt; &quot; &quot;;
        }

    }

}
</code></pre>
<p>Meine Funktion vergrößert das vorhandene Array um ein Element.<br />
Kopiert dann die alten Werte in das neue Array.<br />
Gibt den Speicherplatz für das alte Array frei.<br />
Schreibt dann an die zusätzlich vorhandene Stelle einen neuen Wert.</p>
<p>Das Problem ist, dass ich zuerst die Ausgabe<br />
Mahagoni - vorhandene Laengen:<br />
5 10 15 20 25 30 35 40 45 50<br />
erhalte und dann<br />
Mahagoni - vorhandene Laengen:<br />
5 10 15 20 25 30 35 40 45 50 0</p>
<p>Somit habe ich zwar eine Stelle mehr erzeugt.<br />
Jedoch steht darin immer Null.</p>
<p>Freue mich über jede Unterstützung.<br />
Danke</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/328128/dynamisches-array</link><generator>RSS for Node</generator><lastBuildDate>Wed, 08 Jul 2026 11:41:10 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/328128.rss" rel="self" type="application/rss+xml"/><pubDate>Wed, 24 Sep 2014 07:10:59 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Dynamisches Array on Wed, 24 Sep 2014 07:11:26 GMT]]></title><description><![CDATA[<p>Guten Morgen!</p>
<p>Ich habe Schwierigkeiten mit einem dynamischen Array.<br />
Der Code meiner Funktion sieht augenblicklich so aus:</p>
<pre><code>void einkaufBrett(int laengeNeu, Holzsorten holzsorte, int *bestandM){

    if(holzsorte == 2){
        int *bestandM1 = new int[++brettlaengen];

        for(int i = 0; i &lt; brettlaengen; ++i){
            bestandM1[i] = bestandM[i];
            bestandM1[brettlaengen-1] = laengeNeu;
        }

        bestandM1[brettlaengen-1] = laengeNeu;

        delete [] bestandM;

        cout &lt;&lt; endl;
        cout &lt;&lt; &quot;Mahagoni - vorhandene Laengen: &quot; &lt;&lt; endl;

        for(int i = 0; i &lt; brettlaengen; ++i){
            cout &lt;&lt; bestandM[i] &lt;&lt; &quot; &quot;;
        }

    }

}
</code></pre>
<p>Meine Funktion vergrößert das vorhandene Array um ein Element.<br />
Kopiert dann die alten Werte in das neue Array.<br />
Gibt den Speicherplatz für das alte Array frei.<br />
Schreibt dann an die zusätzlich vorhandene Stelle einen neuen Wert.</p>
<p>Das Problem ist, dass ich zuerst die Ausgabe<br />
Mahagoni - vorhandene Laengen:<br />
5 10 15 20 25 30 35 40 45 50<br />
erhalte und dann<br />
Mahagoni - vorhandene Laengen:<br />
5 10 15 20 25 30 35 40 45 50 0</p>
<p>Somit habe ich zwar eine Stelle mehr erzeugt.<br />
Jedoch steht darin immer Null.</p>
<p>Freue mich über jede Unterstützung.<br />
Danke</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2418896</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2418896</guid><dc:creator><![CDATA[estrella]]></dc:creator><pubDate>Wed, 24 Sep 2014 07:11:26 GMT</pubDate></item><item><title><![CDATA[Reply to Dynamisches Array on Wed, 24 Sep 2014 07:14:48 GMT]]></title><description><![CDATA[<p>Benutze std::vector statt mit new und delete rumzuhampeln.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2418898</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2418898</guid><dc:creator><![CDATA[manni66]]></dc:creator><pubDate>Wed, 24 Sep 2014 07:14:48 GMT</pubDate></item><item><title><![CDATA[Reply to Dynamisches Array on Wed, 24 Sep 2014 07:28:58 GMT]]></title><description><![CDATA[<p>vector ist klar besser. Ich kommentiere aber erstmal den Code</p>
<pre><code>void einkaufBrett(int laengeNeu, Holzsorten holzsorte, int *bestandM){ 

    if(holzsorte == 2){ 
        int *bestandM1 = new int[++brettlaengen]; // wo kommt dieses brettlaengen her?
        // Schleife läuft bis brettlaengen-1
        // hat bestandM überhaupt die richtige Länge? Ich denke nein.
        for(int i = 0; i &lt; brettlaengen; ++i){ 
            bestandM1[i] = bestandM[i]; 
            bestandM1[brettlaengen-1] = laengeNeu; // Warum ist das hier in der Schleife?
        } 

        bestandM1[brettlaengen-1] = laengeNeu; 

        delete [] bestandM; // hier löschst du bestandM

        cout &lt;&lt; endl; 
        cout &lt;&lt; &quot;Mahagoni - vorhandene Laengen: &quot; &lt;&lt; endl; 

        for(int i = 0; i &lt; brettlaengen; ++i){ 
            cout &lt;&lt; bestandM[i] &lt;&lt; &quot; &quot;; // hier greifst du auf das gelöschte bestandM zu 
        } 

    } 
    // bestandM1 ist nach der Funktion auch nicht mehr zugänglich

}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/2418899</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2418899</guid><dc:creator><![CDATA[Braunstein]]></dc:creator><pubDate>Wed, 24 Sep 2014 07:28:58 GMT</pubDate></item><item><title><![CDATA[Reply to Dynamisches Array on Wed, 24 Sep 2014 07:23:49 GMT]]></title><description><![CDATA[<p>Und die Funktion, die <em>einkaufBrett</em> aufruft, weiß nichts von dem neuen Array.<br />
<em>bestandM</em> ist dann auch gelöscht.</p>
<p>D.h. du hast keine Daten mehr.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2418900</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2418900</guid><dc:creator><![CDATA[DirkB]]></dc:creator><pubDate>Wed, 24 Sep 2014 07:23:49 GMT</pubDate></item><item><title><![CDATA[Reply to Dynamisches Array on Wed, 24 Sep 2014 07:34:51 GMT]]></title><description><![CDATA[<p>Danke für den Tipp mit dem Vektor.</p>
<p>Werde das jetzt mal ausprobieren.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2418903</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2418903</guid><dc:creator><![CDATA[estrella]]></dc:creator><pubDate>Wed, 24 Sep 2014 07:34:51 GMT</pubDate></item></channel></rss>