<?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[Bäume]]></title><description><![CDATA[<p>Hallo!</p>
<p>Muss einen Binärbaum in C++ schreiben.<br />
inkl. Suche und Ordnung(gegen Degeneration)</p>
<p>Könnte mir irgendwer z.B. einen kleinen Beispielcode der einen Baum aufbaut posten?<br />
Oder zumindest irgendeinen Link oder eine Erklärung wie man einen Baum erstellt.</p>
<p>Hab quasi nirgends etwas gefunden, das mir helfen könnte.</p>
<p>Bitte um eure Hilfe!</p>
<p>mfg</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/129015/bäume</link><generator>RSS for Node</generator><lastBuildDate>Sat, 29 Aug 2026 12:13:22 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/129015.rss" rel="self" type="application/rss+xml"/><pubDate>Fri, 09 Dec 2005 11:56:15 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Bäume on Fri, 09 Dec 2005 11:56:15 GMT]]></title><description><![CDATA[<p>Hallo!</p>
<p>Muss einen Binärbaum in C++ schreiben.<br />
inkl. Suche und Ordnung(gegen Degeneration)</p>
<p>Könnte mir irgendwer z.B. einen kleinen Beispielcode der einen Baum aufbaut posten?<br />
Oder zumindest irgendeinen Link oder eine Erklärung wie man einen Baum erstellt.</p>
<p>Hab quasi nirgends etwas gefunden, das mir helfen könnte.</p>
<p>Bitte um eure Hilfe!</p>
<p>mfg</p>
]]></description><link>https://www.c-plusplus.net/forum/post/938050</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/938050</guid><dc:creator><![CDATA[holh]]></dc:creator><pubDate>Fri, 09 Dec 2005 11:56:15 GMT</pubDate></item><item><title><![CDATA[Reply to Bäume on Fri, 09 Dec 2005 12:05:29 GMT]]></title><description><![CDATA[<p>Tach,</p>
<p>einen binaeren Baum baust du folgenderweise auf:</p>
<p>1. Knoten erstellen und mit deinen Informationen belegen<br />
2. Den erstellten Knoten auf einen Stack legen<br />
3. Neuen Knoten erstellen. Den auf dem Stack liegenden holen und abhaengig von<br />
vorher definierten Bedingungen entscheiden, ob der neue Knoten der rechte oder<br />
linke Nachbar von dem alten wird<br />
4. Den Knoten auf den Stack zuruecklegen<br />
5. Wiederhole 3 bis 5 so lange, bis dein Baum komplett ist</p>
<p>Hoffe ich hab nix vergessen. Damit solltest du in der Lage sein, deinen Baum<br />
zu erstellen.</p>
<p>mfg<br />
v R</p>
]]></description><link>https://www.c-plusplus.net/forum/post/938061</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/938061</guid><dc:creator><![CDATA[vR@uni]]></dc:creator><pubDate>Fri, 09 Dec 2005 12:05:29 GMT</pubDate></item><item><title><![CDATA[Reply to Bäume on Fri, 09 Dec 2005 12:06:31 GMT]]></title><description><![CDATA[<p>@vr: War das ein Scherzbeitrag?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/938062</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/938062</guid><dc:creator><![CDATA[LOL!]]></dc:creator><pubDate>Fri, 09 Dec 2005 12:06:31 GMT</pubDate></item><item><title><![CDATA[Reply to Bäume on Fri, 09 Dec 2005 12:19:37 GMT]]></title><description><![CDATA[<p>LOL! schrieb:</p>
<blockquote>
<p>@vr: War das ein Scherzbeitrag?</p>
</blockquote>
<p>Oh, hab da in der Tat was vergessen.</p>
<p>Nehmen wir mal an, ich will einen Term in einem binaeren Baum speichern. Dann<br />
hab ich z. B. sowas:</p>
<p>2 * 3 + 4</p>
<p>Daraus erzeugen wir die Postfix-Schreibweise:</p>
<p>2 3 * 4 +</p>
<p>Jetzt gehen wir den Ausdruck durch und kommen zur 2. Wir erstellen einen<br />
Knoten mit 2 und legen diesen auf den Stack. Wir gehen weiter und kommen zur<br />
3, erstellen einen Knoten und legen diesen auf den Stack. Dann kommen wir<br />
zur Operation *, nehmen den ersten Knoten vom Stack, das ist unser rechter<br />
Nachbar des neuen Knotens. Wir nehmen dann die 2 vom Stack und das ist dann<br />
unser linker Nachbar.</p>
<p>Diesen Knoten legen wir nun wieder auf den Stack und lesen die 4. Erstellen<br />
einen Knoten mit der 4, packen diesen auf den Stack und lesen weiter. Wir lesen<br />
+ und gehen genauso vor, wie mit dem *.</p>
<p>Damit ist unser Baum dann aufgebaut. Er sieht dann folgendermassen aus:</p>
<pre><code>(+)
              /   \
             /    (4)
            (*)
          /    \
        (2)   (3)
</code></pre>
<p>So meinte ich das. Ja meine erste Erklaerung war schei**.</p>
<p>mfg<br />
v R</p>
]]></description><link>https://www.c-plusplus.net/forum/post/938082</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/938082</guid><dc:creator><![CDATA[vR@uni]]></dc:creator><pubDate>Fri, 09 Dec 2005 12:19:37 GMT</pubDate></item><item><title><![CDATA[Reply to Bäume on Fri, 09 Dec 2005 13:21:02 GMT]]></title><description><![CDATA[<p>danke,<br />
vielmals</p>
<p>hoffe ich brings jetzt zusammen.</p>
<p>weiß nur noch nicht ob wirs mit einem Stack aufbauen sollen.</p>
<p>aber vorerst hab ich noch meine probleme mit den compilerfehlern.</p>
<p>Der Baum soll nur Name und Telnummer enthalten.</p>
<p>Obwohl ich eine Klasse erstellt hab:</p>
<pre><code>class Knoten		
{
	char name[50];
	int number;

	class Knoten *pr;
	class Knoten *pl;
};
</code></pre>
<p>und eine neues Element durch</p>
<pre><code>Knoten *decay;
decay = new Knoten;
</code></pre>
<p>kommt folgende Compilermeldung:<br />
Der linke Teil von .number muss eine Klasse/Struktur/Union sein</p>
<p>Irgendwie denk ich mir, dass ich grundlegend was falsch gemacht hab <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>mfg</p>
]]></description><link>https://www.c-plusplus.net/forum/post/938136</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/938136</guid><dc:creator><![CDATA[holh]]></dc:creator><pubDate>Fri, 09 Dec 2005 13:21:02 GMT</pubDate></item><item><title><![CDATA[Reply to Bäume on Fri, 09 Dec 2005 13:22:43 GMT]]></title><description><![CDATA[<p>sorry,</p>
<p>wollte</p>
<pre><code>class Knoten *decay
</code></pre>
<p>schreiben</p>
]]></description><link>https://www.c-plusplus.net/forum/post/938140</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/938140</guid><dc:creator><![CDATA[holh]]></dc:creator><pubDate>Fri, 09 Dec 2005 13:22:43 GMT</pubDate></item><item><title><![CDATA[Reply to Bäume on Fri, 09 Dec 2005 13:26:29 GMT]]></title><description><![CDATA[<p>Mann kann das zwar aus deinem Beispiel nicht sicher erkennen aber wahrscheinlich machst du sowas</p>
<pre><code class="language-cpp">Knoten *decay;
decay = new Knoten; 
decay.number = 7; // falsch
decay-&gt;number = 7; // richtig
(*decay).number = 7; // richtig
</code></pre>
<p>holh schrieb:</p>
<blockquote>
<p>sorry,</p>
<p>wollte</p>
<pre><code>class Knoten *decay
</code></pre>
<p>schreiben</p>
</blockquote>
<p>class ist nicht erforderlich<br />
Kurt</p>
]]></description><link>https://www.c-plusplus.net/forum/post/938147</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/938147</guid><dc:creator><![CDATA[ZuK]]></dc:creator><pubDate>Fri, 09 Dec 2005 13:26:29 GMT</pubDate></item><item><title><![CDATA[Reply to Bäume on Fri, 09 Dec 2005 13:30:25 GMT]]></title><description><![CDATA[<p>wow!</p>
<p>danke,<br />
ich dachte der Punkt und der Pfeil seien dasselbe?<br />
Wo ist da genau der Unterschied?</p>
<p>Und warum brauch ich class nicht hinzuschreiben?</p>
<p>Danke!!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/938151</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/938151</guid><dc:creator><![CDATA[holh]]></dc:creator><pubDate>Fri, 09 Dec 2005 13:30:25 GMT</pubDate></item><item><title><![CDATA[Reply to Bäume on Fri, 09 Dec 2005 13:48:13 GMT]]></title><description><![CDATA[<p>&quot;x.irgendwas&quot; ist für Objekte der Klasse/Strukt, &quot;x-&gt;irgendwas&quot; ist für Pointer (ist eine Abkürzung für (*x).irgendwas, weil die Kombination aus Dereferenzieren und Elementzugriff doch recht häufig ist)</p>
]]></description><link>https://www.c-plusplus.net/forum/post/938164</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/938164</guid><dc:creator><![CDATA[CStoll]]></dc:creator><pubDate>Fri, 09 Dec 2005 13:48:13 GMT</pubDate></item><item><title><![CDATA[Reply to Bäume on Fri, 09 Dec 2005 14:43:41 GMT]]></title><description><![CDATA[<p>Ich glaube der OP sucht eher einen <a href="http://de.wikipedia.org/wiki/Balancierter_Baum" rel="nofollow">balanced (search) tree</a>, keinen Syntax-Tree.</p>
<p>Einfach mal google anwerfen; weitere beliebte Stichworte &quot;AVL&quot;, &quot;Red-Black&quot;, &quot;BB Alpha&quot;, ...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/938217</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/938217</guid><dc:creator><![CDATA[finix]]></dc:creator><pubDate>Fri, 09 Dec 2005 14:43:41 GMT</pubDate></item><item><title><![CDATA[Reply to Bäume on Sat, 10 Dec 2005 15:35:28 GMT]]></title><description><![CDATA[<p>Sorry, komm leider immer noch nicht zurecht.</p>
<p>Wenn ich z.B. schreibe:</p>
<pre><code>newnode(now-&gt;pr, decay);
</code></pre>
<p>meint der Compiler:</p>
<p>&quot;pr&quot; : Kein Zugriff auf provate Element, dessen Deklaration in der Klasse &quot;Knoten&quot; erfolgte</p>
<p>Was heißt das wieder?!!</p>
<p>Ich halts im Kopf nicht aus <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f621.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--pouting_face"
      title=":rage:"
      alt="😡"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/938961</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/938961</guid><dc:creator><![CDATA[holh]]></dc:creator><pubDate>Sat, 10 Dec 2005 15:35:28 GMT</pubDate></item><item><title><![CDATA[Reply to Bäume on Sat, 10 Dec 2005 15:46:47 GMT]]></title><description><![CDATA[<p>wenn deine Klasse Knoten noch immer so aussieht</p>
<pre><code class="language-cpp">class Knoten       
{
// public:  // wenn du den kommentar entfernst kann jeder auf alles zugreifen
    char name[50];
    int number;

    class Knoten *pr;
    class Knoten *pl;
};
</code></pre>
<p>Dann kann nur ein Knoten auf die membervariablen zugerifen da bei einer Klasse private der default ist. Wenn du aber wirklich public access willst dann nimm lieber eine struct.<br />
Kurt</p>
]]></description><link>https://www.c-plusplus.net/forum/post/938975</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/938975</guid><dc:creator><![CDATA[ZuK]]></dc:creator><pubDate>Sat, 10 Dec 2005 15:46:47 GMT</pubDate></item><item><title><![CDATA[Reply to Bäume on Sat, 10 Dec 2005 15:50:23 GMT]]></title><description><![CDATA[<p>uh,</p>
<p>und was genau ist der Unterschied zwischen Klasse und Struktur bzw. warum sollte ich bei publiczugriff eine Struct verwenden?</p>
<p>Danke für die Hilfe</p>
]]></description><link>https://www.c-plusplus.net/forum/post/938978</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/938978</guid><dc:creator><![CDATA[holh]]></dc:creator><pubDate>Sat, 10 Dec 2005 15:50:23 GMT</pubDate></item><item><title><![CDATA[Reply to Bäume on Sat, 10 Dec 2005 16:00:08 GMT]]></title><description><![CDATA[<p>Bei struct ist der default access public. Sonst gibts keinen Unterschied;<br />
Kurt</p>
]]></description><link>https://www.c-plusplus.net/forum/post/938986</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/938986</guid><dc:creator><![CDATA[ZuK]]></dc:creator><pubDate>Sat, 10 Dec 2005 16:00:08 GMT</pubDate></item><item><title><![CDATA[Reply to Bäume on Sat, 10 Dec 2005 16:21:30 GMT]]></title><description><![CDATA[<p>So, nachdem immer noch nichts geht poste ich hier einfach mal den code(werden sicher einige Fehler enthalten sein):</p>
<pre><code># include &lt;iostream&gt;

# include &quot;midwrt.h&quot;

using namespace std;

class Knoten		//Klasse erstellen
{
public:

	char name[50];
	int number;

	class Knoten *pr;
	class Knoten *pl;
};

//////////PROTOTYPEN//////////
void print (Knoten);
Knoten input (Knoten);

///GLOBALE Variablen///
class Knoten *root;

int main()
{

root = new Knoten;
root = NULL;

char name[50];
int number;

class Knoten *now;
now = new Knoten;

class Knoten *decay;
decay = new Knoten;

now = root;

	for(;strcmp(&quot;exit&quot;, name)!=0;)
	{
		//Einlesen der Daten
		cout &lt;&lt; &quot;Name: &quot; &lt;&lt; flush &lt;&lt; endl;
		cin &gt;&gt; name;
		cout &lt;&lt; &quot;Telefonnummer: &quot; &lt;&lt; flush &lt;&lt; endl &lt;&lt; endl;
		cin &gt;&gt; number;

		decay-&gt;name = name;
		decay-&gt;number = number;

		input(now, decay);	//Schreibvorgang in tree

	}

/////////////////////////////////////////////////////////////

return 0;	//Rückgabewert ans Betriebssystem

}

void input(class Knoten now, class Knoten decay)
{

	now = root;

	do
	{
	if(root == NULL)
		root = decay;

	else if (strcmpi(now-&gt;name, decay-&gt;name)&lt;0)
		now = now-&gt;pr;

	else if (strcmpi(now-&gt;name, decay-&gt;name)&gt;0)
		now = now-&gt;pl;

	}while (now != NULL);

	decay-&gt;pl = NULL;
	decay-&gt;pr = NULL;

	if(now = NULL)
		now = decay;

	else
		newnode(now, decay);

}

void newnode(class Knoten now, class Knoten decay)
{
	if(decay-&gt;name &lt;= now-&gt;name)
	{
		if(now-&gt;pl == NULL)
			now-&gt;pl = decay;

		else
			newnode(now-&gt;pl, decay);
	}

	if(decay-&gt;name &gt; now.name)
	{
		if(now-&gt;pr == NULL)
			now-&gt;pr = decay;

		else
			newnode(now-&gt;pr, decay);
	}
}
</code></pre>
<p>Hoffe ihr könnt was damit anfangen</p>
<p>Vielen Dank für eure Hilfe!<br />
Ihr rettet mir meine Note <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>
]]></description><link>https://www.c-plusplus.net/forum/post/939001</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/939001</guid><dc:creator><![CDATA[holh]]></dc:creator><pubDate>Sat, 10 Dec 2005 16:21:30 GMT</pubDate></item><item><title><![CDATA[Reply to Bäume on Sat, 10 Dec 2005 17:00:40 GMT]]></title><description><![CDATA[<p>Ein paar tips.<br />
Prototypen und implementation sollten umbedingt zusammenpassen. Sonst verwirrst du den compiler.<br />
char arrays kannst du nicht einfach mit = zuweisen ( check out strcpy() oder verwende std::string )<br />
dass man char arrays nicht einfach mit == vergleichen kann dürftest du schon bemerkt haben. Der Vergleich auf &gt; oder &lt; funktioniert aber so auch nicht ( strcmp() &lt; 0 )<br />
Kurt</p>
]]></description><link>https://www.c-plusplus.net/forum/post/939036</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/939036</guid><dc:creator><![CDATA[ZuK]]></dc:creator><pubDate>Sat, 10 Dec 2005 17:00:40 GMT</pubDate></item><item><title><![CDATA[Reply to Bäume on Sat, 10 Dec 2005 18:53:35 GMT]]></title><description><![CDATA[<p>ich hornochse!</p>
<p>anfänglich hatte ich damit begonnen nur eine zahl in den baum zu schreiben.</p>
<p>nachträglich machte ich ein char array dazu.<br />
da hab ich nicht mehr mitgedacht <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="😃"
    /> obwohl jener Smilie passender wäre: <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>^^</p>
<p>danke vielmals für die triviale Hilfe ^^</p>
<p>mfg</p>
]]></description><link>https://www.c-plusplus.net/forum/post/939137</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/939137</guid><dc:creator><![CDATA[holh]]></dc:creator><pubDate>Sat, 10 Dec 2005 18:53:35 GMT</pubDate></item><item><title><![CDATA[Reply to Bäume on Sat, 10 Dec 2005 19:36:06 GMT]]></title><description><![CDATA[<pre><code class="language-cpp">root = new Knoten;
root = NULL;
</code></pre>
<p>das ist auch nicht soo sinvoll <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>
]]></description><link>https://www.c-plusplus.net/forum/post/939166</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/939166</guid><dc:creator><![CDATA[ConfusedGuy]]></dc:creator><pubDate>Sat, 10 Dec 2005 19:36:06 GMT</pubDate></item><item><title><![CDATA[Reply to Bäume on Sat, 10 Dec 2005 21:53:49 GMT]]></title><description><![CDATA[<p>ähhhhh, da hast wohl recht...</p>
<p>schön langsam wirds schwierig mich noch glaubhaft hinauszureden :p</p>
]]></description><link>https://www.c-plusplus.net/forum/post/939271</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/939271</guid><dc:creator><![CDATA[holh]]></dc:creator><pubDate>Sat, 10 Dec 2005 21:53:49 GMT</pubDate></item><item><title><![CDATA[Reply to Bäume on Sun, 11 Dec 2005 14:14:31 GMT]]></title><description><![CDATA[<p>ähh, weiß jemand wo das Problem liegt, wenn die cin anweisung nichts mehr reinliest trotz flush??</p>
<pre><code>for(;;)
	{

		decay = new Knoten;

		//Einlesen der Daten
		cout &lt;&lt; endl &lt;&lt; endl &lt;&lt; &quot;Name: &quot; &lt;&lt; flush;
		cin &gt;&gt; name;

		if(strcmpi(name, &quot;exit&quot;) == 0)
			break;

		cout &lt;&lt; &quot;Telefonnummer: &quot; &lt;&lt; flush;
		cin &gt;&gt; number;

		strcpy(decay-&gt;name, name);
		decay-&gt;number = number;
		decay-&gt;pl = NULL;
		decay-&gt;pr = NULL;

		now = root;

		if (now == NULL)
			root = decay;

		else
			*now = newnode(*now, *decay);

	}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/939564</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/939564</guid><dc:creator><![CDATA[holh]]></dc:creator><pubDate>Sun, 11 Dec 2005 14:14:31 GMT</pubDate></item><item><title><![CDATA[Reply to Bäume on Sun, 11 Dec 2005 14:45:30 GMT]]></title><description><![CDATA[<blockquote>
<p>ähh, weiß jemand wo das Problem liegt, wenn die cin anweisung nichts mehr reinliest trotz flush??</p>
</blockquote>
<p>Wenn cin einmal einen fehler hat hilft nur mehr cin.clear().<br />
flush hilft bei cin überhaupt nichts.<br />
Kurt</p>
<p>EDIT: zeig mal wo du Probleme hast kann in dem geposteten code nichts erkennen.<br />
BTW cin und cout sind synchronisiert</p>
<pre><code class="language-cpp">cout &lt;&lt; endl &lt;&lt; endl &lt;&lt; &quot;Name: &quot; &lt;&lt; flush;
        cin &gt;&gt; name;
</code></pre>
<p>das flush ist unnütig.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/939574</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/939574</guid><dc:creator><![CDATA[ZuK]]></dc:creator><pubDate>Sun, 11 Dec 2005 14:45:30 GMT</pubDate></item><item><title><![CDATA[Reply to Bäume on Sun, 11 Dec 2005 14:56:57 GMT]]></title><description><![CDATA[<p>hab das Problem, dass sich beim 2. mal einlesen der Telefonnummer sich die Nummer einfach nicht ändert.<br />
Denk ich hab nichts grob falsch...</p>
<p>Zudem ist es so, dass beim 2. Knoten durch das</p>
<pre><code>decay = new Knoten
</code></pre>
<p>der 2. Knoten wieder überschrieben wird.<br />
Ich denke, dass hat irgendwie mit dem UP zu tun(Übergabe)</p>
<p>Hier also nochmal der ganze Code:</p>
<pre><code># include &lt;iostream&gt;
using namespace std;

//GLOBALE VARIABLEN//
class Knoten *root;

class Knoten		//Klasse erstellen mit öffentlichem Zugriff, da default private ist
{
public:

	char name[50];
	int number;

	class Knoten *pr;
	class Knoten *pl;
};

//////////PROTOTYPEN//////////

Knoten newnode (Knoten, Knoten);

int main()
{

char name[50];
int number=0;

class Knoten *now;
class Knoten *decay;

	for(;;)
	{

		decay = new Knoten;

		//Einlesen der Daten

		cout &lt;&lt; endl &lt;&lt; endl &lt;&lt; &quot;Name: &quot;;
		cin &gt;&gt; name;
		cin.clear();

		if(strcmpi(name, &quot;exit&quot;) == 0)
			break;

	        cout &lt;&lt; &quot;Telefonnummer: &quot;;
		cin &gt;&gt; number;
                cin.clear();

		strcpy(decay-&gt;name, name);
		decay-&gt;number = number;
		decay-&gt;pl = NULL;
		decay-&gt;pr = NULL;

		now = root;

		if (now == NULL)
			root = decay;

		else
			*now = newnode(*now, *decay);

	}

return 0;	//Rückgabewert ans Betriebssystem

}

Knoten newnode(class Knoten now, class Knoten decay)
{

	if(strcmpi(decay.name, now.name)&lt;=0)
		{
			if(now.pl == NULL)
				now.pl = &amp;decay;

			else
				newnode(*now.pl, decay);
		}

	if(strcmpi(decay.name, now.name)&gt;0)
		{
			if(now.pr == NULL)
				now.pr = &amp;decay;

			else
				newnode(*now.pl, decay);
		}

	return now;
	//*root = now;
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/939583</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/939583</guid><dc:creator><![CDATA[holh]]></dc:creator><pubDate>Sun, 11 Dec 2005 14:56:57 GMT</pubDate></item><item><title><![CDATA[Reply to Bäume on Sun, 11 Dec 2005 15:07:57 GMT]]></title><description><![CDATA[<p>Nehme an du versuchst einen namen mit leerzeichen einzugeben.<br />
cin &gt;&gt; name; hört auf wenn ein leerzeichen gelesen wird<br />
ein darauffolgendes<br />
cin &gt;&gt; number; cin geht dann auf störung.<br />
verwende getline zum einlesen des namens</p>
<pre><code class="language-cpp">cin.getline( name, 50 );
</code></pre>
<p>Kurt<br />
BTW du solltest zum speichern einer telefonnummer sowieso einen string verwenden ( bedenke führende 0 )</p>
]]></description><link>https://www.c-plusplus.net/forum/post/939592</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/939592</guid><dc:creator><![CDATA[ZuK]]></dc:creator><pubDate>Sun, 11 Dec 2005 15:07:57 GMT</pubDate></item><item><title><![CDATA[Reply to Bäume on Sun, 11 Dec 2005 16:40:01 GMT]]></title><description><![CDATA[<p>nochmal ^^</p>
<p>hab ihn nun endlich zum gehen gebracht.<br />
war scheinbar wirklich das cin Schuld</p>
<p>hab nun ein UP zur Ausgabe des Baumes<br />
doch beim Ausführen erscheint folgender Link-Fehler:</p>
<blockquote>
<p>error LNK2001: Nichtaufgeloestes externes Symbol &quot;void __cdecl printall(class Knoten)&quot; (?printall@@YAXVKnoten@@@Z)</p>
</blockquote>
<p>Sobald ich im Main den Funktionsaufruf weggebe, meckert nichts mehr</p>
]]></description><link>https://www.c-plusplus.net/forum/post/939647</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/939647</guid><dc:creator><![CDATA[holh]]></dc:creator><pubDate>Sun, 11 Dec 2005 16:40:01 GMT</pubDate></item><item><title><![CDATA[Reply to Bäume on Sun, 11 Dec 2005 16:46:01 GMT]]></title><description><![CDATA[<p>Das deutet darauf hin dass du printall() zwar declariert hast aber vergessen hast es auch zu implementieren.<br />
Kurt</p>
]]></description><link>https://www.c-plusplus.net/forum/post/939651</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/939651</guid><dc:creator><![CDATA[ZuK]]></dc:creator><pubDate>Sun, 11 Dec 2005 16:46:01 GMT</pubDate></item><item><title><![CDATA[Reply to Bäume on Wed, 08 Feb 2006 08:20:21 GMT]]></title><description><![CDATA[<p>Wieso überhaupt Zuweisungen ala:</p>
<pre><code class="language-cpp">Knoten* foo;
foo = new Knoten;
foo-&gt;bla = 5;
</code></pre>
<p>Wollten wir das ganze nicht aufm Stack haben? Was hat diese Variante für Vorteile gegenüber dieser:</p>
<pre><code class="language-cpp">Knoten foo;
foo.bla = 5;
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/989118</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/989118</guid><dc:creator><![CDATA[El Padre]]></dc:creator><pubDate>Wed, 08 Feb 2006 08:20:21 GMT</pubDate></item></channel></rss>