<?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[Stammbaum mit Pointer Datenstruktur]]></title><description><![CDATA[<p>Hallo,<br />
ich würde gerne ein Programm erstellen, dass alle männlichen Vorfahren einer Person (als Parameter) mit cout ausgibt. Gegeben habe ich dafür folgendes Struct:</p>
<pre><code class="language-cpp">struct person
{
String name;
person * mutter;
person * ehepartner;
};
</code></pre>
<p>Den Vater der jeweiligen Person p kann ich ja mit p-&gt;mutter-&gt;ehepartner erhalten.<br />
Aber wie ich den ganzen Stammbaum durchlaufen soll habe ich keine Ahnung.</p>
<p>Danke für eure Hilfe</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/243876/stammbaum-mit-pointer-datenstruktur</link><generator>RSS for Node</generator><lastBuildDate>Sat, 19 Sep 2026 15:38:02 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/243876.rss" rel="self" type="application/rss+xml"/><pubDate>Mon, 22 Jun 2009 13:01:47 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Stammbaum mit Pointer Datenstruktur on Mon, 22 Jun 2009 13:01:47 GMT]]></title><description><![CDATA[<p>Hallo,<br />
ich würde gerne ein Programm erstellen, dass alle männlichen Vorfahren einer Person (als Parameter) mit cout ausgibt. Gegeben habe ich dafür folgendes Struct:</p>
<pre><code class="language-cpp">struct person
{
String name;
person * mutter;
person * ehepartner;
};
</code></pre>
<p>Den Vater der jeweiligen Person p kann ich ja mit p-&gt;mutter-&gt;ehepartner erhalten.<br />
Aber wie ich den ganzen Stammbaum durchlaufen soll habe ich keine Ahnung.</p>
<p>Danke für eure Hilfe</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1730987</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1730987</guid><dc:creator><![CDATA[sp1nnaker]]></dc:creator><pubDate>Mon, 22 Jun 2009 13:01:47 GMT</pubDate></item><item><title><![CDATA[Reply to Stammbaum mit Pointer Datenstruktur on Mon, 22 Jun 2009 13:38:46 GMT]]></title><description><![CDATA[<p>[cpp]<br />
//ungetestet<br />
void pv(person* ich,person* mutter,bool maennlich=0)<br />
{<br />
if(mutter)<br />
{<br />
pv(mutter,mutter-&gt;mutter,false);<br />
if(mutter-&gt;ehepartner)<br />
{<br />
cout&lt;&lt;mutter-&gt;ehepartner-&gt;name&lt;&lt;'\n';<br />
pv(mutter-&gt;ehepartner,mutter-&gt;ehepartner-&gt;mutter,true);<br />
}<br />
}<br />
}<br />
[cpp]</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1731011</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1731011</guid><dc:creator><![CDATA[volkard]]></dc:creator><pubDate>Mon, 22 Jun 2009 13:38:46 GMT</pubDate></item><item><title><![CDATA[Reply to Stammbaum mit Pointer Datenstruktur on Mon, 22 Jun 2009 13:42:01 GMT]]></title><description><![CDATA[<p>also erst mal gibts bei so was immer 2 möglichkeiten:<br />
das ganze iterativ oder rekursiv lösen...</p>
<p>einmal in etwa so:</p>
<pre><code class="language-cpp">person *aktuelle_person = X;
while (aktuelle_person)
{
  std::cout &lt;&lt; aktuelle_person-&gt;Name;
  if(!aktuelle_person-&gt;mutter)
    break;
  aktuelle_person = aktuelle_person-&gt;mutter-&gt;ehepartner;
};
</code></pre>
<p>und einmal halt:</p>
<pre><code class="language-cpp">void ausgabe(const person *aktuelle_person)
{
  if(!aktuelle_person)
    return;

  std::cout &lt;&lt; aktuelle_person-&gt;Name;

  if(!aktuelle_person-&gt;mutter)
    return;

  ausgabe(aktuelle_person-&gt;mutter-&gt;ehepartner);
}
</code></pre>
<p>ist beides ungetestet und wirst noch bissl was ändern müssen - aber ansonsten sollte es dir zeigen, wie in etwa das gehen sollte...</p>
<p>bb</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1731012</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1731012</guid><dc:creator><![CDATA[unskilled]]></dc:creator><pubDate>Mon, 22 Jun 2009 13:42:01 GMT</pubDate></item><item><title><![CDATA[Reply to Stammbaum mit Pointer Datenstruktur on Mon, 22 Jun 2009 14:06:37 GMT]]></title><description><![CDATA[<p>sp1nnaker schrieb:</p>
<blockquote>
<p>ich würde gerne ein Programm erstellen, dass alle männlichen Vorfahren einer Person (als Parameter) mit cout ausgibt. Gegeben habe ich dafür folgendes Struct:</p>
<pre><code class="language-cpp">struct person
{
String name;
person * mutter;
person * ehepartner;
};
</code></pre>
<p>Den Vater der jeweiligen Person p kann ich ja mit p-&gt;mutter-&gt;ehepartner erhalten.</p>
</blockquote>
<p>Achja? Was ist mit nichtehelichen Kindern oder wenn der Vater der Ex-Mann ist und die Mutter neu geheiratet hat? <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>
<p>Warum hast Du nicht einfach &quot;vater&quot; statt &quot;ehepartner&quot; geschrieben? Die Vater/Mutter-Eigenschaft ändert sich wenigstens nicht -- zumindest die biologische Version davon.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1731030</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1731030</guid><dc:creator><![CDATA[heile_welt]]></dc:creator><pubDate>Mon, 22 Jun 2009 14:06:37 GMT</pubDate></item><item><title><![CDATA[Reply to Stammbaum mit Pointer Datenstruktur on Mon, 22 Jun 2009 14:18:26 GMT]]></title><description><![CDATA[<p>vrmtl weil es eine aufgabenstellung ist...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1731042</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1731042</guid><dc:creator><![CDATA[unskilled]]></dc:creator><pubDate>Mon, 22 Jun 2009 14:18:26 GMT</pubDate></item><item><title><![CDATA[Reply to Stammbaum mit Pointer Datenstruktur on Mon, 22 Jun 2009 14:46:52 GMT]]></title><description><![CDATA[<p>unskilled schrieb:</p>
<blockquote>
<p>also erst mal gibts bei so was immer 2 möglichkeiten:<br />
das ganze iterativ oder rekursiv lösen...</p>
<p>einmal in etwa so:</p>
<pre><code class="language-cpp">person *aktuelle_person = X;
while (aktuelle_person)
{
  std::cout &lt;&lt; aktuelle_person-&gt;Name;
  if(!aktuelle_person-&gt;mutter)
    break;
  aktuelle_person = aktuelle_person-&gt;mutter-&gt;ehepartner;
};
</code></pre>
<p>und einmal halt:</p>
<pre><code class="language-cpp">void ausgabe(const person *aktuelle_person)
{
  if(!aktuelle_person)
    return;

  std::cout &lt;&lt; aktuelle_person-&gt;Name;

  if(!aktuelle_person-&gt;mutter)
    return;

  ausgabe(aktuelle_person-&gt;mutter-&gt;ehepartner);
}
</code></pre>
<p>ist beides ungetestet und wirst noch bissl was ändern müssen - aber ansonsten sollte es dir zeigen, wie in etwa das gehen sollte...</p>
<p>bb</p>
</blockquote>
<p>Du gehst nur die männlichen Vorfahren hoch, verschweigst aber der Mutter Vater und der Großmutter Vater und die meisten männlichen Vorfahren?<br />
Diese Kette hätte ich auch szuerst iterativ gemacht.<br />
Aber will ichs richtig machen, muß ich ja alle Papa-Vorfahren und Mama-Vorfahren verfolgen, und damit es noch ein wenig schieriger wird, sollen nur die männlichen ausgegeben werden.<br />
Als ich die Aufgabe las und dazu die völlig unduchsichtige Datenstruktur, dachte ich, mich will einer veräppeln. Aber naja, Profs machen sowas öfters. <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f61e.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--disappointed_face"
      title=":("
      alt="😞"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1731068</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1731068</guid><dc:creator><![CDATA[volkard]]></dc:creator><pubDate>Mon, 22 Jun 2009 14:46:52 GMT</pubDate></item><item><title><![CDATA[Reply to Stammbaum mit Pointer Datenstruktur on Mon, 22 Jun 2009 14:50:44 GMT]]></title><description><![CDATA[<p>volkard schrieb:</p>
<blockquote>
<p>...</p>
</blockquote>
<p>huch -.-<br />
stimmt...<br />
wenn ich jz ganz eiskalt sage, dass ich ihm nicht die komplettlösung geben wollte, glaubt mir das vrmtl (zu recht ^^) niemand <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=";D"
      alt="😉"
    /></p>
<p>bb</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1731074</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1731074</guid><dc:creator><![CDATA[unskilled]]></dc:creator><pubDate>Mon, 22 Jun 2009 14:50:44 GMT</pubDate></item><item><title><![CDATA[Reply to Stammbaum mit Pointer Datenstruktur on Mon, 22 Jun 2009 15:05:01 GMT]]></title><description><![CDATA[<p>Danke, jetzt hab ichs:</p>
<pre><code class="language-cpp">void pv(person * p)
{
	if(p-&gt;mutter != NULL)
	{
		pv(p-&gt;mutter);
		if(p-&gt;mutter-&gt;ehepartner != NULL)
		{
			cout &lt;&lt; p-&gt;mutter-&gt;ehepartner-&gt;name &lt;&lt; '\n';
			pv(p-&gt;mutter-&gt;ehepartner);
		}
	}
}
</code></pre>
<p>und läuft perfekt.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1731085</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1731085</guid><dc:creator><![CDATA[sp1nnaker]]></dc:creator><pubDate>Mon, 22 Jun 2009 15:05:01 GMT</pubDate></item><item><title><![CDATA[Reply to Stammbaum mit Pointer Datenstruktur on Tue, 23 Jun 2009 07:44:28 GMT]]></title><description><![CDATA[<p>sp1nnaker schrieb:</p>
<blockquote>
<p>und läuft perfekt.</p>
</blockquote>
<p>Ich hab nur kurz einen Blick drauf geworfen, aber irgendwie fehlt mir da der Zweig für p-&gt;ehepartner.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1731409</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1731409</guid><dc:creator><![CDATA[jencas]]></dc:creator><pubDate>Tue, 23 Jun 2009 07:44:28 GMT</pubDate></item><item><title><![CDATA[Reply to Stammbaum mit Pointer Datenstruktur on Tue, 23 Jun 2009 07:49:00 GMT]]></title><description><![CDATA[<p>jencas schrieb:</p>
<blockquote>
<p>sp1nnaker schrieb:</p>
<blockquote>
<p>und läuft perfekt.</p>
</blockquote>
<p>Ich hab nur kurz einen Blick drauf geworfen, aber irgendwie fehlt mir da der Zweig für p-&gt;ehepartner.</p>
</blockquote>
<p>p-&gt;mutter-&gt;ehepartner und p-&gt;mutter werden rekurriert. ist doch ok.<br />
die eltern meines mannes sind aber nicht meine vorfahren.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1731414</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1731414</guid><dc:creator><![CDATA[volkard]]></dc:creator><pubDate>Tue, 23 Jun 2009 07:49:00 GMT</pubDate></item></channel></rss>