<?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[Bitte um Auffrischung in Sachen dynamische Arrays :D]]></title><description><![CDATA[<p>So, hallo mal wieder. Ich habe zu lange nichts mehr geschrieben und neulich an etwas älterem herumgebastelt. Nachdem sich das Programm mit einem Anwendungsfehler bedankt hat, habe ich die betreffende Klasse also mal auf ein Minimum reduziert und gemerkt, das ich scheinbar unfähig im Umgang mit dynamischen Arrays sein muss.</p>
<pre><code class="language-cpp">class test
{
    public:
    test(int dimension=5)
    {
        LINKAGE  = new int[dimension];
        this-&gt;dimension = dimension;
        counter=0; }

    ~test()
        {
            delete[] LINKAGE;
        }

    void sort()
    {
        // Sorting, stark verkürzt :D
        int AL, BL;
        for(int i=(counter-1); i&gt;0; i--)
        {
            for(int k=0; k&lt;i; k++)
            {
                AL = LINKAGE[k];                    
                BL = LINKAGE[k+1];

                if (LINKAGE[k]&gt;LINKAGE[k+1])
                {
                    LINKAGE[k]=BL;
                    LINKAGE[k+1]=AL;
                }
            }
        }
    }
    int push (const int linkage)
        {

            checksize();

            counter++;

            LINKAGE[counter]=linkage; // &lt;- das kann doch nicht stimmen?

            return 0;
        }

    private:
    int checksize() {
        // Vergrößern...
        if(dimension==counter)
        {
            int new_size=(dimension + 5);
            int tmp_linkage[dimension];

            for(int j=0; j&lt;dimension;j++)
            {
                tmp_linkage[j]=LINKAGE[j];
            }

            delete[] LINKAGE;
            *LINKAGE  = 0;

            LINKAGE  = new int[new_size];

            for(int j=0; j&lt;dimension;j++) {
                LINKAGE[j]  = tmp_linkage[j]; }
            return 1;
        }
        else return 0; }

        int counter;
        int *LINKAGE;
        int dimension;
};

main ()
{
    test irgendwas;

    irgendwas.push(1);
    irgendwas.push(2);
    irgendwas.push(3);
    irgendwas.push(4);
    irgendwas.push(-1);
    irgendwas.push(6);

    irgendwas.sort();
}
</code></pre>
<p>Nun, die Zeiger zeigen scheinbar irgendwo hin <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>Könnte mir jemand sagen, wie ich denn LINKAGE korrekt mit Werten füllen müsste?</p>
<p>mfg,<br />
BloodLord</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/159884/bitte-um-auffrischung-in-sachen-dynamische-arrays-d</link><generator>RSS for Node</generator><lastBuildDate>Fri, 11 Sep 2026 03:46:33 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/159884.rss" rel="self" type="application/rss+xml"/><pubDate>Tue, 19 Sep 2006 18:52:29 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Bitte um Auffrischung in Sachen dynamische Arrays :D on Thu, 21 Sep 2006 13:14:10 GMT]]></title><description><![CDATA[<p>So, hallo mal wieder. Ich habe zu lange nichts mehr geschrieben und neulich an etwas älterem herumgebastelt. Nachdem sich das Programm mit einem Anwendungsfehler bedankt hat, habe ich die betreffende Klasse also mal auf ein Minimum reduziert und gemerkt, das ich scheinbar unfähig im Umgang mit dynamischen Arrays sein muss.</p>
<pre><code class="language-cpp">class test
{
    public:
    test(int dimension=5)
    {
        LINKAGE  = new int[dimension];
        this-&gt;dimension = dimension;
        counter=0; }

    ~test()
        {
            delete[] LINKAGE;
        }

    void sort()
    {
        // Sorting, stark verkürzt :D
        int AL, BL;
        for(int i=(counter-1); i&gt;0; i--)
        {
            for(int k=0; k&lt;i; k++)
            {
                AL = LINKAGE[k];                    
                BL = LINKAGE[k+1];

                if (LINKAGE[k]&gt;LINKAGE[k+1])
                {
                    LINKAGE[k]=BL;
                    LINKAGE[k+1]=AL;
                }
            }
        }
    }
    int push (const int linkage)
        {

            checksize();

            counter++;

            LINKAGE[counter]=linkage; // &lt;- das kann doch nicht stimmen?

            return 0;
        }

    private:
    int checksize() {
        // Vergrößern...
        if(dimension==counter)
        {
            int new_size=(dimension + 5);
            int tmp_linkage[dimension];

            for(int j=0; j&lt;dimension;j++)
            {
                tmp_linkage[j]=LINKAGE[j];
            }

            delete[] LINKAGE;
            *LINKAGE  = 0;

            LINKAGE  = new int[new_size];

            for(int j=0; j&lt;dimension;j++) {
                LINKAGE[j]  = tmp_linkage[j]; }
            return 1;
        }
        else return 0; }

        int counter;
        int *LINKAGE;
        int dimension;
};

main ()
{
    test irgendwas;

    irgendwas.push(1);
    irgendwas.push(2);
    irgendwas.push(3);
    irgendwas.push(4);
    irgendwas.push(-1);
    irgendwas.push(6);

    irgendwas.sort();
}
</code></pre>
<p>Nun, die Zeiger zeigen scheinbar irgendwo hin <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>Könnte mir jemand sagen, wie ich denn LINKAGE korrekt mit Werten füllen müsste?</p>
<p>mfg,<br />
BloodLord</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1140635</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1140635</guid><dc:creator><![CDATA[BloodLord]]></dc:creator><pubDate>Thu, 21 Sep 2006 13:14:10 GMT</pubDate></item><item><title><![CDATA[Reply to Bitte um Auffrischung in Sachen dynamische Arrays :D on Tue, 19 Sep 2006 19:25:01 GMT]]></title><description><![CDATA[<p>Nabend,</p>
<p>dein Array ist nicht gross genug, du schreibst ueber die Arraygrenze hinaus und<br />
dann bekommste nen segfault.</p>
<p>Du muesstest dein Array vergroessern, wenn counter = dimension-1 ist. Oder du<br />
nutzt std::vector ;).</p>
<p>gruss<br />
v R</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1140664</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1140664</guid><dc:creator><![CDATA[virtuell Realisticer]]></dc:creator><pubDate>Tue, 19 Sep 2006 19:25:01 GMT</pubDate></item><item><title><![CDATA[Reply to Bitte um Auffrischung in Sachen dynamische Arrays :D on Tue, 19 Sep 2006 19:36:51 GMT]]></title><description><![CDATA[<p>Sind auch noch andere Fehler im Code. Du inkrementirst den Counter z.B. zweimal in <em>Push</em>.</p>
<p>grüße</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1140675</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1140675</guid><dc:creator><![CDATA[David_pb]]></dc:creator><pubDate>Tue, 19 Sep 2006 19:36:51 GMT</pubDate></item><item><title><![CDATA[Reply to Bitte um Auffrischung in Sachen dynamische Arrays :D on Wed, 20 Sep 2006 19:43:19 GMT]]></title><description><![CDATA[<p>Ah, der Hauptfehler lag in einer anderen Methode wie ich gesehn hab (unberücksichtigte Ausnahme)</p>
<p>Aber das mit counter = dimension-1 sehe ich nicht ganz ein. Sieht man mal von dem <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f62e.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--face_with_open_mouth"
      title=":open_mouth:"
      alt="😮"
    /> counter++ Doppler ab, zählt counter die Zahlen, die in LINKAGE abgelegt wurden, wobei ja erst ab 1 losgezählt wird. Wurden also schon [dimension] Elemente abgelegt - LINKAGE[0...4] - muss LINKAGE vergrößert werden. <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="😕"
    /></p>
<blockquote>
<p>Oder du nutzt std::vector ;).</p>
</blockquote>
<p>hm... nein <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/1141430</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1141430</guid><dc:creator><![CDATA[BloodLord]]></dc:creator><pubDate>Wed, 20 Sep 2006 19:43:19 GMT</pubDate></item><item><title><![CDATA[Reply to Bitte um Auffrischung in Sachen dynamische Arrays :D on Wed, 20 Sep 2006 19:50:53 GMT]]></title><description><![CDATA[<p>Gehs nochmal im Kopf durch, dann wirst du feststellen das du viel zu oft inkrementierst.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1141435</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1141435</guid><dc:creator><![CDATA[David_pb]]></dc:creator><pubDate>Wed, 20 Sep 2006 19:50:53 GMT</pubDate></item></channel></rss>