<?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[Problem mit C++ Programm zur Berechnung tan(x)]]></title><description><![CDATA[<p>Hallo liebe Leute, ... ich hab ein kleines grosses Problem und hoffe hier nun auf Hilfe zu stossen, ... eines vorne weg, ich erwarte von niemanden das er mir Hilft, schliesslich geht es um eure &quot;Freizeit&quot; ... wäre aber schön wenn einer Zeit hätte mir das Programm zu schreiben.</p>
<p>Ich habe inzwischen schon viele versuche hinter mir aber ich komme zu keinem wirklichen Ergebnis. Irgendwie ist das für mich ein Buch mit mehr als 7 Siegeln. Zu mir, ich studiere an einer TU und musste Informatik belegen, ... nun müssen wir einen Beleg machen ... wo ich einfach nicht durch sehe.</p>
<p>Folgende Aufgabe:</p>
<blockquote>
<p>Entwerfen und implementieren Sie ein C++-Programm, welches Funktionswerte der hyperbolischen Funktion</p>
<p>y = f(x) = tan(x)</p>
<p>berechnet.</p>
<p>Verwenden Sie dazu die folgende Summenformel:</p>
<p><a href="http://img136.imageshack.us/img136/3826/beleg107htmlm5fe3f732jq0.gif" rel="nofollow">http://img136.imageshack.us/img136/3826/beleg107htmlm5fe3f732jq0.gif</a><br />
Die Berechnung soll abbrechen, wenn die Differenz zweier aufeinanderfolger Glieder z i und z i+1 kleiner als ein zudefinierender Abbruchwert epsilon wird oder aber wenn maximal 11 Summenglieder berechnet wurden.</p>
<p>Testen Sie zunächst, ob der Nutzer ein x eingeben hat, welches dem Definitionsbereich der Summenformel entspricht.</p>
<p>Hinweis:<br />
Die Bernoulischen Zahlen Bn für die n = 1..11 sind in folgender Tabelle enthalten :<br />
n Bn<br />
1 1/6<br />
2 1/30<br />
3 1/42<br />
4 1/30<br />
5 5/66<br />
6 691/2739<br />
7 7/6<br />
8 3617/510<br />
9 43867/510<br />
10 174611/330<br />
11 854513/138</p>
<p>Verwenden Sie zur Berechnung von mindestens drei Funktionswerten die o.g. Summenformel und vergleichen das dort berechnete Ergebnis mit dem Ergebnis der Verwendung der Standardfunktion tan(x). Diskutieren Sie kurz im Kommentar die Ergebnisse.</p>
</blockquote>
<p>Jo, ... das ist die Aufgabe. Glaubt mir, das ich froh wäre, die Aufgabe selbst lösen zu können <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="😞"
    /> bis zur richtigen Prüfung muss ich es dann zwar können ... aber bis dahin würdet ihr mir wirklich sehr helfen.</p>
<p>Wer also Lust hätte sich an die Aufgabe heran zu wagen, ... wäre ich sehr Dankbar...Irgendwie muss ich aber auch sagen, das ich es für etwas übertrieben finde eine solche Aufgabe, einen ... naja C++ n00b vorzulegen <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/topic/202321/problem-mit-c-programm-zur-berechnung-tan-x</link><generator>RSS for Node</generator><lastBuildDate>Tue, 06 Oct 2026 14:57:16 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/202321.rss" rel="self" type="application/rss+xml"/><pubDate>Wed, 09 Jan 2008 22:07:26 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Problem mit C++ Programm zur Berechnung tan(x) on Wed, 09 Jan 2008 22:07:26 GMT]]></title><description><![CDATA[<p>Hallo liebe Leute, ... ich hab ein kleines grosses Problem und hoffe hier nun auf Hilfe zu stossen, ... eines vorne weg, ich erwarte von niemanden das er mir Hilft, schliesslich geht es um eure &quot;Freizeit&quot; ... wäre aber schön wenn einer Zeit hätte mir das Programm zu schreiben.</p>
<p>Ich habe inzwischen schon viele versuche hinter mir aber ich komme zu keinem wirklichen Ergebnis. Irgendwie ist das für mich ein Buch mit mehr als 7 Siegeln. Zu mir, ich studiere an einer TU und musste Informatik belegen, ... nun müssen wir einen Beleg machen ... wo ich einfach nicht durch sehe.</p>
<p>Folgende Aufgabe:</p>
<blockquote>
<p>Entwerfen und implementieren Sie ein C++-Programm, welches Funktionswerte der hyperbolischen Funktion</p>
<p>y = f(x) = tan(x)</p>
<p>berechnet.</p>
<p>Verwenden Sie dazu die folgende Summenformel:</p>
<p><a href="http://img136.imageshack.us/img136/3826/beleg107htmlm5fe3f732jq0.gif" rel="nofollow">http://img136.imageshack.us/img136/3826/beleg107htmlm5fe3f732jq0.gif</a><br />
Die Berechnung soll abbrechen, wenn die Differenz zweier aufeinanderfolger Glieder z i und z i+1 kleiner als ein zudefinierender Abbruchwert epsilon wird oder aber wenn maximal 11 Summenglieder berechnet wurden.</p>
<p>Testen Sie zunächst, ob der Nutzer ein x eingeben hat, welches dem Definitionsbereich der Summenformel entspricht.</p>
<p>Hinweis:<br />
Die Bernoulischen Zahlen Bn für die n = 1..11 sind in folgender Tabelle enthalten :<br />
n Bn<br />
1 1/6<br />
2 1/30<br />
3 1/42<br />
4 1/30<br />
5 5/66<br />
6 691/2739<br />
7 7/6<br />
8 3617/510<br />
9 43867/510<br />
10 174611/330<br />
11 854513/138</p>
<p>Verwenden Sie zur Berechnung von mindestens drei Funktionswerten die o.g. Summenformel und vergleichen das dort berechnete Ergebnis mit dem Ergebnis der Verwendung der Standardfunktion tan(x). Diskutieren Sie kurz im Kommentar die Ergebnisse.</p>
</blockquote>
<p>Jo, ... das ist die Aufgabe. Glaubt mir, das ich froh wäre, die Aufgabe selbst lösen zu können <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="😞"
    /> bis zur richtigen Prüfung muss ich es dann zwar können ... aber bis dahin würdet ihr mir wirklich sehr helfen.</p>
<p>Wer also Lust hätte sich an die Aufgabe heran zu wagen, ... wäre ich sehr Dankbar...Irgendwie muss ich aber auch sagen, das ich es für etwas übertrieben finde eine solche Aufgabe, einen ... naja C++ n00b vorzulegen <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/1434002</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1434002</guid><dc:creator><![CDATA[McKofFly]]></dc:creator><pubDate>Wed, 09 Jan 2008 22:07:26 GMT</pubDate></item><item><title><![CDATA[Reply to Problem mit C++ Programm zur Berechnung tan(x) on Thu, 10 Jan 2008 05:21:58 GMT]]></title><description><![CDATA[<p>vielleicht könnte mir auch jmd. nur den Berechnungsteil geben und ich versuche dann das drum herum noch zu bauen ... !?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1434071</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1434071</guid><dc:creator><![CDATA[McKofFly]]></dc:creator><pubDate>Thu, 10 Jan 2008 05:21:58 GMT</pubDate></item><item><title><![CDATA[Reply to Problem mit C++ Programm zur Berechnung tan(x) on Thu, 10 Jan 2008 07:09:26 GMT]]></title><description><![CDATA[<p>Was hast du denn bis jetzt geschafft? Du brauchst eine Schleife, die nacheinander die einzelnen Summanden ermittelt und zusammenfasst:</p>
<pre><code class="language-cpp">double sum = x, potenz = x*x*x, factor;
for(int i=0;i&lt;10;++i)
{
  factor = ...;//irgendwas muß ich ja auch für dich aufheben
  sum+=factor*potenz;
  if(factor*potenz&lt;epsilon)break;
  factor*=x*x;
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1434086</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1434086</guid><dc:creator><![CDATA[CStoll]]></dc:creator><pubDate>Thu, 10 Jan 2008 07:09:26 GMT</pubDate></item><item><title><![CDATA[Reply to Problem mit C++ Programm zur Berechnung tan(x) on Thu, 10 Jan 2008 07:20:59 GMT]]></title><description><![CDATA[<p>ich verstehe erstmal gar ne wie ich halt an die Aufgabe heran gehen muss ... die Summen Formel die er mir gegeben hat, ... ich muss also zuerst den Wert für x, dann 1/3x³ usw. nacheinander ausrechnen?<br />
Hab noch nie was Programmiert und dann kommt so´n Aufgabenklotz <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=":/"
      alt="😕"
    /></p>
<p>An Quellcode habe ich nur gesabber ... wie gesagt ich steige einfach nich dahinter <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/1434090</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1434090</guid><dc:creator><![CDATA[McKofFly]]></dc:creator><pubDate>Thu, 10 Jan 2008 07:20:59 GMT</pubDate></item><item><title><![CDATA[Reply to Problem mit C++ Programm zur Berechnung tan(x) on Thu, 10 Jan 2008 07:30:31 GMT]]></title><description><![CDATA[<p>Die benötigten Werte für die B<sub>n</sub> in der Formel hast du doch in der Aufgabe gegeben - da würde ich vermutlich die Faktoren von Hand ausrechnen und in ein Array reinpacken <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="😉"
    /> (das im Nenner ist eine &quot;Fakultät&quot;, falls du damit Probleme haben solltest :D)</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1434101</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1434101</guid><dc:creator><![CDATA[CStoll]]></dc:creator><pubDate>Thu, 10 Jan 2008 07:30:31 GMT</pubDate></item><item><title><![CDATA[Reply to Problem mit C++ Programm zur Berechnung tan(x) on Thu, 10 Jan 2008 07:36:07 GMT]]></title><description><![CDATA[<p>das mit der Fakultät ist schon klar <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="😉"
    /> ... und wie pack ich das in ein Arry !?</p>
<p>meinst sowas in der Art?</p>
<pre><code class="language-cpp">float fBernouli[11] = {0.166667f,0.0333333f,0.0238095f,0.0333333f,0.757576f,0.253114f,1.16667f,7.092167f,54.9712f,529.124f,6192.12f};
</code></pre>
<p>PS: Hab das wo raus kopiert, ... wofür steht das f hinter den Zahlen?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1434106</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1434106</guid><dc:creator><![CDATA[McKofFly]]></dc:creator><pubDate>Thu, 10 Jan 2008 07:36:07 GMT</pubDate></item><item><title><![CDATA[Reply to Problem mit C++ Programm zur Berechnung tan(x) on Thu, 10 Jan 2008 07:46:06 GMT]]></title><description><![CDATA[<p>Das f steht dafür das diese Zahlen als float und nicht als double (doppelte Präzision) gehandelt werden.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1434112</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1434112</guid><dc:creator><![CDATA[Fellhuhn]]></dc:creator><pubDate>Thu, 10 Jan 2008 07:46:06 GMT</pubDate></item><item><title><![CDATA[Reply to Problem mit C++ Programm zur Berechnung tan(x) on Thu, 10 Jan 2008 11:03:08 GMT]]></title><description><![CDATA[<p>und da double groessere Genauigkeit hat und Speicherplatz nicht das Problem sein sollte kannst du das f weglassen und lieber noch ein paar Nachkommastellen dranhaengen <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/1434205</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1434205</guid><dc:creator><![CDATA[pumuckl]]></dc:creator><pubDate>Thu, 10 Jan 2008 11:03:08 GMT</pubDate></item><item><title><![CDATA[Reply to Problem mit C++ Programm zur Berechnung tan(x) on Thu, 10 Jan 2008 11:21:42 GMT]]></title><description><![CDATA[<p>Was natürlich nur was bringt wenn du aus float fBernouli[11] folgendes machst: double fBernouli[11]</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1434218</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1434218</guid><dc:creator><![CDATA[Fellhuhn]]></dc:creator><pubDate>Thu, 10 Jan 2008 11:21:42 GMT</pubDate></item><item><title><![CDATA[Reply to Problem mit C++ Programm zur Berechnung tan(x) on Thu, 10 Jan 2008 14:27:57 GMT]]></title><description><![CDATA[<p>McKofFly schrieb:</p>
<blockquote>
<p>Zu mir, ich studiere an einer TU und musste Informatik belegen, ...</p>
</blockquote>
<p>was studierst Du denn im Hauptfach?</p>
<p>McKofFly schrieb:</p>
<blockquote>
<blockquote>
<p>Hinweis:<br />
Die Bernoulischen Zahlen Bn für die n = 1..11 sind in folgender Tabelle enthalten :<br />
n Bn<br />
1 1/6<br />
2 1/30<br />
3 1/42<br />
4 1/30<br />
5 5/66<br />
6 691/2739<br />
7 7/6<br />
8 3617/510<br />
9 43867/510<br />
10 174611/330<br />
11 854513/138</p>
</blockquote>
</blockquote>
<p>Die Zahlen Bn[6] und Bn[9] sind falsch - korrekt ist:</p>
<blockquote>
<p>n Bn<br />
6 691/2730<br />
9 43867/798</p>
</blockquote>
<p>Im Zweifel bei <a href="http://mathworld.wolfram.com/BernoulliNumber.html" rel="nofollow">MathWorld</a> nachschauen.</p>
<p>McKofFly schrieb:</p>
<blockquote>
<p>vielleicht könnte mir auch jmd. nur den Berechnungsteil geben und ich versuche dann das drum herum noch zu bauen ... !?</p>
</blockquote>
<p>Machen wir's doch umgekehrt. Präsentiere Du uns Dein Programm - z.B. mit einer leeren Funktion</p>
<pre><code class="language-cpp">double tan_( double x )
</code></pre>
<p>die diese Berechnung enthalten müsste und lass die Funktion leer, wenn Du nicht weißt wie es geht.<br />
CStoll hat ja schon einen Hinweis gegeben.</p>
<p>McKofFly schrieb:</p>
<blockquote>
<p>meinst sowas in der Art?</p>
<pre><code class="language-cpp">float fBernouli[11] = {0.166667f,0.0333333f,0.0238095f,0.0333333f,0.757576f,0.253114f,1.16667f,7.092167f,54.9712f,529.124f,6192.12f};
</code></pre>
</blockquote>
<p>Besser ist es, die Brüche so hinzuschreiben, wie sie angegeben sind. Dann minimierst Du die Rundungsfehler - also:</p>
<pre><code class="language-cpp">// Bernoulli-Zahlen
const double Bn[] = {
    1./6,
    1./30,
    1./42,
    1./30,
    5./66,
    691./2730, // 691/2739 ist falsch
    7./6,
    3617./510,
    43867./798, // 43867/510 ist falsch
    174611./330,
    854513./138
};
</code></pre>
<p>Gruß<br />
Werner</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1434314</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1434314</guid><dc:creator><![CDATA[Werner Salomon]]></dc:creator><pubDate>Thu, 10 Jan 2008 14:27:57 GMT</pubDate></item></channel></rss>