<?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[Verkettete Liste Ausgabeproblem]]></title><description><![CDATA[<p>Hallo liebe Gemeinde,</p>
<p>nach intensiver Suche im Forum wende ich mich nun so an euch.<br />
Ich probiere mich nun schon einige Zeit schon an dieser verketteten Liste und es klappt, meiner Meinung nach, auch ganz gut, nur leider schaffe ich die Ausgabe Asgabe oder Anhängefunktion nicht.</p>
<p>Wenn es zur Ausgabe kommt wird immer nur das erste und letzte Element ausgegeben und ich weiß einfach nicht mehr weiter.<br />
Ich hatte in den letzten Tagen immer noch die Hoffnunf selber auf das Problem zu stoßen aber leider war dem nicht so, auch Texteingaben und das ausgeben der Speicheradressen hat mir nicht weiter geholfen.</p>
<p>Ich hätte die Bitte, dass mir ein Wissender helfen kann und mir sagen kann wo ich meinen Denkfehler habe.</p>
<p>Ich würde mich wirklich freuen <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="🙂"
    /><br />
Mit besten Grüßen</p>
<p>saunaaa</p>
<pre><code>#include &lt;iostream&gt;

class orttyp
{
private:
   int zahl;

public:
	orttyp *next;
	void setze_zahl(int);
	int hole_zahl(void) const;
	orttyp(int z=0):zahl(z){};
};
//----------------------------------------------------

   void orttyp::setze_zahl(int i)
   {
       zahl=i;
   };
   int orttyp::hole_zahl(void) const
   {
       return zahl;
   };
//----------------------------------------------------
   void belege (orttyp*ort)
   {
       int zahl;
  std::cout &lt;&lt; &quot;Zahl: &quot;;
  std::cin &gt;&gt; zahl;
       ort-&gt;setze_zahl(zahl);
       ort-&gt;next=NULL;
   };

   orttyp* create (void)
   {
       orttyp* ort = new(orttyp);
       belege(ort);
	   ort-&gt;next=NULL;
       return ort;
   };

   void anhaengen(orttyp*ort)
   {
       orttyp *neu_ort = new(orttyp);
       belege(neu_ort);

       ort-&gt;next=neu_ort;
	   ort=ort-&gt;next;
   };

   void alle_ausgeben(orttyp*anker)
   {
       orttyp *tmp=anker;

       while(tmp!=NULL)
       {
           std::cout&lt;&lt;tmp-&gt;hole_zahl();
           tmp = tmp-&gt;next;
       };
   };

//----------------------------------------------------
int main()
{
   orttyp *ort,*anker;

   ort = anker = create();

   anhaengen(ort);
   anhaengen(ort);
   anhaengen(ort);
   anhaengen(ort);
   anhaengen(ort);
   anhaengen(ort);
   ort=anker;
   alle_ausgeben(ort);
};
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/topic/318001/verkettete-liste-ausgabeproblem</link><generator>RSS for Node</generator><lastBuildDate>Mon, 27 Jul 2026 19:48:23 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/318001.rss" rel="self" type="application/rss+xml"/><pubDate>Thu, 27 Jun 2013 16:27:42 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Verkettete Liste Ausgabeproblem on Thu, 27 Jun 2013 17:31:31 GMT]]></title><description><![CDATA[<p>Hallo liebe Gemeinde,</p>
<p>nach intensiver Suche im Forum wende ich mich nun so an euch.<br />
Ich probiere mich nun schon einige Zeit schon an dieser verketteten Liste und es klappt, meiner Meinung nach, auch ganz gut, nur leider schaffe ich die Ausgabe Asgabe oder Anhängefunktion nicht.</p>
<p>Wenn es zur Ausgabe kommt wird immer nur das erste und letzte Element ausgegeben und ich weiß einfach nicht mehr weiter.<br />
Ich hatte in den letzten Tagen immer noch die Hoffnunf selber auf das Problem zu stoßen aber leider war dem nicht so, auch Texteingaben und das ausgeben der Speicheradressen hat mir nicht weiter geholfen.</p>
<p>Ich hätte die Bitte, dass mir ein Wissender helfen kann und mir sagen kann wo ich meinen Denkfehler habe.</p>
<p>Ich würde mich wirklich freuen <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="🙂"
    /><br />
Mit besten Grüßen</p>
<p>saunaaa</p>
<pre><code>#include &lt;iostream&gt;

class orttyp
{
private:
   int zahl;

public:
	orttyp *next;
	void setze_zahl(int);
	int hole_zahl(void) const;
	orttyp(int z=0):zahl(z){};
};
//----------------------------------------------------

   void orttyp::setze_zahl(int i)
   {
       zahl=i;
   };
   int orttyp::hole_zahl(void) const
   {
       return zahl;
   };
//----------------------------------------------------
   void belege (orttyp*ort)
   {
       int zahl;
  std::cout &lt;&lt; &quot;Zahl: &quot;;
  std::cin &gt;&gt; zahl;
       ort-&gt;setze_zahl(zahl);
       ort-&gt;next=NULL;
   };

   orttyp* create (void)
   {
       orttyp* ort = new(orttyp);
       belege(ort);
	   ort-&gt;next=NULL;
       return ort;
   };

   void anhaengen(orttyp*ort)
   {
       orttyp *neu_ort = new(orttyp);
       belege(neu_ort);

       ort-&gt;next=neu_ort;
	   ort=ort-&gt;next;
   };

   void alle_ausgeben(orttyp*anker)
   {
       orttyp *tmp=anker;

       while(tmp!=NULL)
       {
           std::cout&lt;&lt;tmp-&gt;hole_zahl();
           tmp = tmp-&gt;next;
       };
   };

//----------------------------------------------------
int main()
{
   orttyp *ort,*anker;

   ort = anker = create();

   anhaengen(ort);
   anhaengen(ort);
   anhaengen(ort);
   anhaengen(ort);
   anhaengen(ort);
   anhaengen(ort);
   ort=anker;
   alle_ausgeben(ort);
};
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/2334820</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2334820</guid><dc:creator><![CDATA[saunaaa]]></dc:creator><pubDate>Thu, 27 Jun 2013 17:31:31 GMT</pubDate></item><item><title><![CDATA[Reply to Verkettete Liste Ausgabeproblem on Thu, 27 Jun 2013 16:59:03 GMT]]></title><description><![CDATA[<p>Wo auch immer du C++ gelernt hast, vergiss diese Quelle und besorg dir ein VERNÜNFTIGES Buch, siehe Links im Forum.</p>
<p>Diese Mischung aus C++ und C...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2334824</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2334824</guid><dc:creator><![CDATA[Nathan]]></dc:creator><pubDate>Thu, 27 Jun 2013 16:59:03 GMT</pubDate></item><item><title><![CDATA[Reply to Verkettete Liste Ausgabeproblem on Thu, 27 Jun 2013 18:14:37 GMT]]></title><description><![CDATA[<p>Du hängst immer an den selben (ersten) Knoten an.<br />
Kannst Du nicht Teile von <code>create()</code> in <code>anhaengen()</code> benutzen?</p>
<p>Gutes Gelingen!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2334841</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2334841</guid><dc:creator><![CDATA[Furble Wurble]]></dc:creator><pubDate>Thu, 27 Jun 2013 18:14:37 GMT</pubDate></item><item><title><![CDATA[Reply to Verkettete Liste Ausgabeproblem on Thu, 27 Jun 2013 18:35:05 GMT]]></title><description><![CDATA[<p>Furble Wurble schrieb:</p>
<blockquote>
<p>Du hängst immer an den selben (ersten) Knoten an.<br />
Kannst Du nicht Teile von <code>create()</code> in <code>anhaengen()</code> benutzen?</p>
<p>Gutes Gelingen!</p>
</blockquote>
<p>Ich dachte dadurch, dass ich ort=ort-&gt;next; schreibe, setze ich das Zeigerobjekt an das ich anhänge eins weiter.<br />
Damit würde ich doch eigentlich nicht an das ursprüngliche, sondern an das neue Objekt anhängen, oder?</p>
<p>vielen Dank für deine Hilfe</p>
<pre><code>void anhaengen(orttyp*ort)
   {
       orttyp *neu_ort = new(orttyp);
       belege(neu_ort);

       ort-&gt;next=neu_ort;
       ort=ort-&gt;next;
   };
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/2334846</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2334846</guid><dc:creator><![CDATA[saunaaa]]></dc:creator><pubDate>Thu, 27 Jun 2013 18:35:05 GMT</pubDate></item><item><title><![CDATA[Reply to Verkettete Liste Ausgabeproblem on Fri, 28 Jun 2013 07:51:11 GMT]]></title><description><![CDATA[<p>saunaaa schrieb:</p>
<blockquote>
<p>Furble Wurble schrieb:</p>
<blockquote>
<p>Du hängst immer an den selben (ersten) Knoten an.<br />
Kannst Du nicht Teile von <code>create()</code> in <code>anhaengen()</code> benutzen?</p>
<p>Gutes Gelingen!</p>
</blockquote>
<p>Ich dachte dadurch, dass ich ort=ort-&gt;next; schreibe, setze ich das Zeigerobjekt an das ich anhänge eins weiter.<br />
Damit würde ich doch eigentlich nicht an das ursprüngliche, sondern an das neue Objekt anhängen, oder?</p>
</blockquote>
<p>Du veränderst nur die lokale Kopie des Zeigers. Wenn Du das Original verändern willst, koenntest Du z.B. eine <em>Referenz</em> übergeben.</p>
<pre><code class="language-cpp">void anhaengen(orttyp*&amp; ort)
   {
     orttyp *neu_ort = create();
     ort-&gt;next=neu_ort;
     ort=ort-&gt;next;
   }
</code></pre>
<p>Aktivier auch die Warnungen in Deinem Compiler: z.B. braucht es kein ';' hinter Funktionsdefinitionen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2334926</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2334926</guid><dc:creator><![CDATA[Furble Wurble]]></dc:creator><pubDate>Fri, 28 Jun 2013 07:51:11 GMT</pubDate></item><item><title><![CDATA[Reply to Verkettete Liste Ausgabeproblem on Fri, 28 Jun 2013 08:20:13 GMT]]></title><description><![CDATA[<p>Referenzen auf Zeiger sind <strong>sehr</strong> unintuitiv. Das würde ich auf keinen Fall machen. (Ich habe auch noch nie Code gesehen der Referenzen auf Zeiger nimmt).<br />
Besser wäre (mMn.):</p>
<pre><code>orttyp* anhaengen(orttyp* ort)
{
    return ort-&gt;next = create();
}
</code></pre>
<p>Dann könnte man immer noch</p>
<pre><code>ptr = anhaengen(ptr);
</code></pre>
<p>schreiben. Aber</p>
<pre><code>anhaengen(ptr);
</code></pre>
<p>Da würde ich nie und nimmer erwarten, dass <code>ptr</code> verändert wird.</p>
<p>Edit:</p>
<blockquote>
<pre><code>orttyp *neu_ort = create(); 
     ort-&gt;next=neu_ort; 
     ort=ort-&gt;next;
</code></pre>
</blockquote>
<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>ort = ort-&gt;next = create();
</code></pre>
<p>~Edit²: Jetzt Frage ich mich: Ist obige Zeile UB?~</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2334939</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2334939</guid><dc:creator><![CDATA[Sone]]></dc:creator><pubDate>Fri, 28 Jun 2013 08:20:13 GMT</pubDate></item></channel></rss>