<?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[Reihe berechnen nur mit Arithmetik und Logik]]></title><description><![CDATA[<p>Hallo</p>
<p>ich habe ein Problem bei einer Aufgabe die ich in Informatik erledigen muss.</p>
<p>Wir sollen eine Reihe berechnen und das nur durch Arithmetik und Logik einer While for schleife.</p>
<p>Die Reihe die berechet werden soll:<br />
<a href="http://www.abload.de/img/reihe3oka.jpg" rel="nofollow">http://www.abload.de/img/reihe3oka.jpg</a></p>
<p>Aufgaben stellung:<br />
Erstellen Sie je ein Schleifen-Programm zur Berechnung der Reihe. Hierzu verwenden Sie bitte nur die elementare Arithmetik und Logik, keine mathematischen Funktionen.</p>
<p>Das Endkriterium für Programm 1 ist die Anzahl der Schleifendurchläufe. Hierzu wählen sie n 530947. Zum Nachweis der Korektheit zeigen Se das Ergebnis der ersten drei Teilsummen und das Ergebnis für n.</p>
<p>Ich würde mich sehr über Hilfe freuen.</p>
<p>LG Koebbe</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/276437/reihe-berechnen-nur-mit-arithmetik-und-logik</link><generator>RSS for Node</generator><lastBuildDate>Wed, 26 Aug 2026 09:06:16 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/276437.rss" rel="self" type="application/rss+xml"/><pubDate>Tue, 02 Nov 2010 12:23:11 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Reihe berechnen nur mit Arithmetik und Logik on Wed, 03 Nov 2010 19:35:08 GMT]]></title><description><![CDATA[<p>Hallo</p>
<p>ich habe ein Problem bei einer Aufgabe die ich in Informatik erledigen muss.</p>
<p>Wir sollen eine Reihe berechnen und das nur durch Arithmetik und Logik einer While for schleife.</p>
<p>Die Reihe die berechet werden soll:<br />
<a href="http://www.abload.de/img/reihe3oka.jpg" rel="nofollow">http://www.abload.de/img/reihe3oka.jpg</a></p>
<p>Aufgaben stellung:<br />
Erstellen Sie je ein Schleifen-Programm zur Berechnung der Reihe. Hierzu verwenden Sie bitte nur die elementare Arithmetik und Logik, keine mathematischen Funktionen.</p>
<p>Das Endkriterium für Programm 1 ist die Anzahl der Schleifendurchläufe. Hierzu wählen sie n 530947. Zum Nachweis der Korektheit zeigen Se das Ergebnis der ersten drei Teilsummen und das Ergebnis für n.</p>
<p>Ich würde mich sehr über Hilfe freuen.</p>
<p>LG Koebbe</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1974056</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1974056</guid><dc:creator><![CDATA[Koebbe]]></dc:creator><pubDate>Wed, 03 Nov 2010 19:35:08 GMT</pubDate></item><item><title><![CDATA[Reply to Reihe berechnen nur mit Arithmetik und Logik on Tue, 02 Nov 2010 12:26:07 GMT]]></title><description><![CDATA[<p>Koebbe schrieb:</p>
<blockquote>
<p>Ich würde mich sehr über Hilfe freuen.</p>
</blockquote>
<p>Ich helfe dir mal, Hilfe zu finden:<br />
<a href="http://www.c-plusplus.net/forum/viewtopic-var-t-is-200753.html" rel="nofollow">Du brauchst Hilfe?</a><br />
<a href="http://www.c-plusplus.net/forum/viewtopic-var-t-is-136013.html" rel="nofollow">Warum dir keiner helfen will.</a></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1974058</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1974058</guid><dc:creator><![CDATA[SeppJ]]></dc:creator><pubDate>Tue, 02 Nov 2010 12:26:07 GMT</pubDate></item><item><title><![CDATA[Reply to Reihe berechnen nur mit Arithmetik und Logik on Tue, 02 Nov 2010 12:29:50 GMT]]></title><description><![CDATA[<p>Was er damit sagen will ist, dass wohl keiner deine Hausaufgaben erledigen wird. Allerdings werden wir dir gerne bei Problemen helfen, wenn du Fragen zu deinem bisher erarbeiteten Code hast.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1974061</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1974061</guid><dc:creator><![CDATA[HighLigerBiMBam]]></dc:creator><pubDate>Tue, 02 Nov 2010 12:29:50 GMT</pubDate></item><item><title><![CDATA[Reply to Reihe berechnen nur mit Arithmetik und Logik on Tue, 02 Nov 2010 13:01:54 GMT]]></title><description><![CDATA[<p>Es soll ja keiner behaupten, dass ich nie helfen würde:</p>
<pre><code class="language-cpp">#include&lt;iostream&gt;
#include&lt;numeric&gt;

class Addend
{
private:
  unsigned int n;
public:
  Addend(unsigned int n):n(n){}
  double operator*()
  {
    return 1./((2*n+1)*(2*n+1));
  }
  Addend&amp; operator++()
  {
    ++n;
    return *this;
  }
  friend bool operator!=(Addend lhs, Addend rhs);
};

bool operator!=(Addend lhs, Addend rhs)
{
  return lhs.n != rhs.n;
}

const unsigned max_n = 530947;

int main()
{
  std::cout &lt;&lt; &quot;Von n=0 bis n=&quot; &lt;&lt; max_n &lt;&lt; &quot;: &quot; &lt;&lt; std::accumulate(Addend(0), Addend(max_n + 1), 0.) &lt;&lt; std::endl;
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1974077</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1974077</guid><dc:creator><![CDATA[SeppJ]]></dc:creator><pubDate>Tue, 02 Nov 2010 13:01:54 GMT</pubDate></item><item><title><![CDATA[Reply to Reihe berechnen nur mit Arithmetik und Logik on Tue, 02 Nov 2010 12:54:52 GMT]]></title><description><![CDATA[<p>Ne es soll auch keiner den Kompletten Code für mich machen.</p>
<p>Nur ich habe derzeit das Problem das ich nicht den Richtigen ausdruck für<br />
meine Schleife finde.<br />
for(m= 0; m &lt;= n; m++)<br />
s <em>= 1/(2*m+1)*(2</em>m+1);<br />
das habe ich gemacht aber damit habe ich nicht annähernd das gewünschte ergebniss</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1974081</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1974081</guid><dc:creator><![CDATA[Koebbe]]></dc:creator><pubDate>Tue, 02 Nov 2010 12:54:52 GMT</pubDate></item><item><title><![CDATA[Reply to Reihe berechnen nur mit Arithmetik und Logik on Tue, 02 Nov 2010 12:56:45 GMT]]></title><description><![CDATA[<p>Du benutzt Ganzzahlarithmetik (-&gt; Google). Mach aus der 1 ne 1.0.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1974087</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1974087</guid><dc:creator><![CDATA[Michael E.]]></dc:creator><pubDate>Tue, 02 Nov 2010 12:56:45 GMT</pubDate></item><item><title><![CDATA[Reply to Reihe berechnen nur mit Arithmetik und Logik on Tue, 02 Nov 2010 12:59:30 GMT]]></title><description><![CDATA[<p>Und du berechnest ein Produkt anstatt einer Summe. Benutz mal +=.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1974091</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1974091</guid><dc:creator><![CDATA[SeppJ]]></dc:creator><pubDate>Tue, 02 Nov 2010 12:59:30 GMT</pubDate></item><item><title><![CDATA[Reply to Reihe berechnen nur mit Arithmetik und Logik on Tue, 02 Nov 2010 13:05:51 GMT]]></title><description><![CDATA[<p>SeppJ schrieb:</p>
<blockquote>
<p>Es soll ja keiner behaupten, dass ich nie helfen würde:</p>
<pre><code class="language-cpp">... std::accumulate(Addend(0), ...
</code></pre>
</blockquote>
<p>Ich weiß gar nicht wie das im Standard geregelt ist, aber im DEBUG braucht z.B. der vc für accumulate die typedefs wie iterator_category usw. Für eigene Iteratoren, die ich mit der STL benutzen möchte definiere ich mir die aus Gründen der Portablilität daher immer mit. Ich glaube dafür gibt es auch eine boost::iterator_facade oder so ähnlich.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1974095</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1974095</guid><dc:creator><![CDATA[brotbernd]]></dc:creator><pubDate>Tue, 02 Nov 2010 13:05:51 GMT</pubDate></item><item><title><![CDATA[Reply to Reihe berechnen nur mit Arithmetik und Logik on Tue, 02 Nov 2010 13:10:07 GMT]]></title><description><![CDATA[<p>brotbernd schrieb:</p>
<blockquote>
<p>SeppJ schrieb:</p>
<blockquote>
<p>Es soll ja keiner behaupten, dass ich nie helfen würde:</p>
<pre><code class="language-cpp">... std::accumulate(Addend(0), ...
</code></pre>
</blockquote>
<p>Ich weiß gar nicht wie das im Standard geregelt ist, aber im DEBUG braucht z.B. der vc für accumulate die typedefs wie iterator_category usw. Für eigene Iteratoren, die ich mit der STL benutzen möchte definiere ich mir die aus Gründen der Portablilität daher immer mit. Ich glaube dafür gibt es auch eine boost::iterator_facade oder so ähnlich.</p>
</blockquote>
<p>Ahh, das erklärt die ganzen Fehlermeldungen als ich versucht habe, die partial_sums zu berechnen. War mir gar nicht bewusst, dass dies für Iteratoren zum Pflichtprogramm gehört und war ganz erstaunt, als es ohne nicht ging.</p>
<p>Werde ich gleich mal ausbessern.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1974096</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1974096</guid><dc:creator><![CDATA[SeppJ]]></dc:creator><pubDate>Tue, 02 Nov 2010 13:10:07 GMT</pubDate></item><item><title><![CDATA[Reply to Reihe berechnen nur mit Arithmetik und Logik on Tue, 02 Nov 2010 13:10:55 GMT]]></title><description><![CDATA[<p>Das kann er aber so noch nicht abgeben, weil nicht die ersten drei Zwischensummen und dann das Endergebnis ausgegeben werden. Außerdem ist endl nicht so hübsch, wenn nur '\n' gemeint ist.<br />
Und Freunde sehen viel freundlicher aus, wenn sie in der Klasse definiert werden, gell?</p>
<pre><code class="language-cpp">#include&lt;iostream&gt;
#include&lt;numeric&gt;

class Addend
{
private:
    unsigned n;
public:
    Addend(unsigned n):n(n) {}
    double operator*()
    {
        return 1./((2*n+1)*(2*n+1));
    }
    Addend operator++()
    {
        ++n;
        return *this;
    }
    friend bool operator!=(Addend lhs, Addend rhs)
    {
        return lhs.n != rhs.n;
    }
};

const unsigned max_n = 530947;

int main()
{
    std::cout.precision(10);
    std::cout &lt;&lt; std::accumulate(Addend(0), Addend(1), 0.) &lt;&lt; '\n';
    std::cout &lt;&lt; std::accumulate(Addend(0), Addend(2), 0.) &lt;&lt; '\n';
    std::cout &lt;&lt; std::accumulate(Addend(0), Addend(3), 0.) &lt;&lt; '\n';
    std::cout &lt;&lt; std::accumulate(Addend(0), Addend(max_n + 1), 0.) &lt;&lt; '\n';
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1974097</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1974097</guid><dc:creator><![CDATA[volkard]]></dc:creator><pubDate>Tue, 02 Nov 2010 13:10:55 GMT</pubDate></item><item><title><![CDATA[Reply to Reihe berechnen nur mit Arithmetik und Logik on Tue, 02 Nov 2010 13:31:26 GMT]]></title><description><![CDATA[<p>So, mit volkards und brotbernds Anmerkungen hier eine neue Version. Sie ist abgehärtet gegen alle Eventualitäten einer STL-Implementierung und hat ein bisschen besseren Stil. Bezüglich der Partialsummen: Es ist doch nicht nötig, dreimal das gleiche zu rechnen, <a href="http://www.cplusplus.com/reference/std/numeric/partial_sum/" rel="nofollow">wenn die STL eine Lösung bietet</a>. Wir haben hier ja keine Rechenzeit zu verschenken.</p>
<pre><code class="language-cpp">#include&lt;iostream&gt;
#include&lt;numeric&gt;
#include&lt;iterator&gt;
#include&lt;algorithm&gt;
#include&lt;vector&gt;

class Addend: public std::iterator&lt;std::input_iterator_tag, double&gt;
{
private:
  unsigned int n;
public:
  Addend(unsigned int n=0):n(n){}
  double operator*()
  {
    return 1./((2*n+1)*(2*n+1));
  }
  Addend&amp; operator++()
  {
    ++n;
    return *this;
  }
  Addend operator++(int)
  {
    Addend old(*this);
    ++n;
    return old;
  }
  friend bool operator!=(Addend lhs, Addend rhs)
  {
    return lhs.n != rhs.n;
  }
  friend bool operator==(Addend lhs, Addend rhs)
  {
    return lhs.n == rhs.n;
  }
};

const unsigned max_part = 3;
const unsigned max_n = 530947;

int main()
{
  std::vector&lt;double&gt; partial_sums(max_part);
  std::partial_sum(Addend(0), Addend(max_part), partial_sums.begin());
  std::ostream_iterator&lt;double&gt; double_out(std::cout, &quot;\n&quot;);
  std::cout &lt;&lt; &quot;Die ersten &quot; &lt;&lt; max_part &lt;&lt;&quot; Teilsummen:\n&quot;;
  std::copy(partial_sums.begin(), partial_sums.end(), double_out);
  std::cout &lt;&lt; &quot;Summe von n=0 bis n=&quot; &lt;&lt; max_n &lt;&lt; &quot;: &quot; &lt;&lt; std::accumulate(Addend(0), Addend(max_n + 1), 0.) &lt;&lt; std::endl;
}
</code></pre>
<p>So kann man es abgeben. Absolut glaubwürdig als eigenes Werk.</p>
<p>Ich frage mich, ob man noch ein paar typedefs einführen sollte. Das Wort double kommt für meinen Geschmack recht häufig vor, was wenn man später mal genaueres möchte?<br />
Außerdem könnte man noch eine Ausgabeklasse schreiben, welche die ersten n Teilsummen und die Summe bis m berechnet und ausgibt. Die main ist jetzt nämlich ein bisschen unaufgeräumt.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1974111</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1974111</guid><dc:creator><![CDATA[SeppJ]]></dc:creator><pubDate>Tue, 02 Nov 2010 13:31:26 GMT</pubDate></item><item><title><![CDATA[Reply to Reihe berechnen nur mit Arithmetik und Logik on Tue, 02 Nov 2010 13:41:51 GMT]]></title><description><![CDATA[<p><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="😃"
    /> hört sich erstmal alles ganz nett an.</p>
<p>Nur haben wir bis jetzt noch nicht mit</p>
<p>#include &lt;iostream&gt;<br />
#include&lt;numeric&gt;<br />
#include&lt;iterator&gt;<br />
#include&lt;algorithm&gt;<br />
#include&lt;vector&gt;<br />
gearbeitet</p>
<p>normal machen wir alles mit<br />
#include &lt;stdio.h&gt;</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1974115</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1974115</guid><dc:creator><![CDATA[Koebbe]]></dc:creator><pubDate>Tue, 02 Nov 2010 13:41:51 GMT</pubDate></item><item><title><![CDATA[Reply to Reihe berechnen nur mit Arithmetik und Logik on Tue, 02 Nov 2010 13:49:48 GMT]]></title><description><![CDATA[<p>SeppJ schrieb:</p>
<blockquote>
<p>Ich frage mich, ob man noch ein paar typedefs einführen sollte. Das Wort double kommt für meinen Geschmack recht häufig vor, was wenn man später mal genaueres möchte?</p>
</blockquote>
<p>Jo, ich schlage mal vor, die wichtige Funktion per Template-Parameter mit den Typen zu versorgen.</p>
<pre><code class="language-cpp">#include&lt;iostream&gt;
#include&lt;numeric&gt;
#include&lt;iterator&gt;
#include&lt;algorithm&gt;
#include&lt;vector&gt;

template&lt;typename numtype,typename counttype&gt;
class Addend: public std::iterator&lt;std::input_iterator_tag, double&gt;
{
private:
    counttype n;
public:
    Addend(counttype n=0):n(n) {}
    numtype operator*()
    {
        return numtype(1)/numtype((2*n+1)*(2*n+1));
    }
    Addend&amp; operator++()
    {
        ++n;
        return *this;
    }
    Addend operator++(int)
    {
        Addend old(*this);
        ++n;
        return old;
    }
    friend bool operator!=(Addend lhs, Addend rhs)
    {
        return lhs.n != rhs.n;
    }
    friend bool operator==(Addend lhs, Addend rhs)
    {
        return lhs.n == rhs.n;
    }
};

template&lt;typename numtype,typename counttype&gt;
void solve(counttype max_part=3,counttype max_n=530947)
{
    typedef Addend&lt;numtype,counttype&gt; Ad;
    std::vector&lt;numtype&gt; partial_sums(max_part);
    std::partial_sum(Ad(), Ad(max_part), partial_sums.begin());
    std::ostream_iterator&lt;numtype&gt; double_out(std::cout, &quot;\n&quot;);
    std::cout &lt;&lt; &quot;Die ersten &quot; &lt;&lt; max_part &lt;&lt;&quot; Teilsummen:\n&quot;;
    std::copy(partial_sums.begin(), partial_sums.end(), double_out);
    std::cout &lt;&lt; &quot;Summe von n=0 bis n=&quot; &lt;&lt; max_n &lt;&lt; &quot;: &quot; &lt;&lt; std::accumulate(Ad(), Ad(max_n + 1), numtype(0)) &lt;&lt; std::endl;
}

int main()
{
    solve&lt;double,unsigned int&gt;();
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1974116</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1974116</guid><dc:creator><![CDATA[volkard]]></dc:creator><pubDate>Tue, 02 Nov 2010 13:49:48 GMT</pubDate></item><item><title><![CDATA[Reply to Reihe berechnen nur mit Arithmetik und Logik on Tue, 02 Nov 2010 13:46:57 GMT]]></title><description><![CDATA[<p>Koebbe schrieb:</p>
<blockquote>
<p>normal machen wir alles mit<br />
#include &lt;stdio.h&gt;</p>
</blockquote>
<p>Also lernt ihr C und nicht C++?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1974117</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1974117</guid><dc:creator><![CDATA[volkard]]></dc:creator><pubDate>Tue, 02 Nov 2010 13:46:57 GMT</pubDate></item><item><title><![CDATA[Reply to Reihe berechnen nur mit Arithmetik und Logik on Tue, 02 Nov 2010 13:48:08 GMT]]></title><description><![CDATA[<p>Koebbe schrieb:</p>
<blockquote>
<p><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="😃"
    /> hört sich erstmal alles ganz nett an.</p>
<p>Nur haben wir bis jetzt noch nicht mit</p>
<p>#include &lt;iostream&gt;<br />
#include&lt;numeric&gt;<br />
#include&lt;iterator&gt;<br />
#include&lt;algorithm&gt;<br />
#include&lt;vector&gt;<br />
gearbeitet</p>
<p>normal machen wir alles mit<br />
#include &lt;stdio.h&gt;</p>
</blockquote>
<p>Bist du sicher, dass du eine C++ und keine C Vorlesung besuchst?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1974118</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1974118</guid><dc:creator><![CDATA[Vicious Falcon]]></dc:creator><pubDate>Tue, 02 Nov 2010 13:48:08 GMT</pubDate></item><item><title><![CDATA[Reply to Reihe berechnen nur mit Arithmetik und Logik on Tue, 02 Nov 2010 13:49:25 GMT]]></title><description><![CDATA[<p>SeppJ schrieb:</p>
<blockquote>
<p>So, mit volkards und brotbernds Anmerkungen hier eine neue Version.</p>
</blockquote>
<p>Wenn du das Ergebnis von partial_sum nicht für das anschließende accumulate, benutzt, kannst du doch für partial_sum gleich deinen double_out benutzen.</p>
<pre><code class="language-cpp">template&lt;typename numtype,typename counttype&gt;
void solve(counttype max_part=3,counttype max_n=530947)
{
    typedef Addend&lt;numtype,counttype&gt; Ad;
    std::ostream_iterator&lt;numtype&gt; double_out(std::cout, &quot;\n&quot;);
    std::cout &lt;&lt; &quot;Die ersten &quot; &lt;&lt; max_part &lt;&lt;&quot; Teilsummen:\n&quot;;
    std::partial_sum(Ad(), Ad(max_part), double_out);
    std::cout &lt;&lt; &quot;Summe von n=0 bis n=&quot; &lt;&lt; max_n &lt;&lt; &quot;: &quot; &lt;&lt; std::accumulate(Ad(), Ad(max_n + 1), numtype(0)) &lt;&lt; std::endl;
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1974119</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1974119</guid><dc:creator><![CDATA[brotbernd]]></dc:creator><pubDate>Tue, 02 Nov 2010 13:49:25 GMT</pubDate></item><item><title><![CDATA[Reply to Reihe berechnen nur mit Arithmetik und Logik on Tue, 02 Nov 2010 13:53:27 GMT]]></title><description><![CDATA[<p>Schöne Verbesserungen <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f44d.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--thumbs_up"
      title=":+1:"
      alt="👍"
    /> . Eine habe ich auch noch:<br />
Der Operator++(int) sollte besser so aussehen:</p>
<pre><code class="language-cpp">Addend operator++(int)
  {
    Addend old(*this);
    ++(*this);
    return old;
  }
</code></pre>
<p>Dann ist das robust gegen Änderungen an der Inkrementierungsfunktionalität der Klasse.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1974121</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1974121</guid><dc:creator><![CDATA[SeppJ]]></dc:creator><pubDate>Tue, 02 Nov 2010 13:53:27 GMT</pubDate></item><item><title><![CDATA[Reply to Reihe berechnen nur mit Arithmetik und Logik on Tue, 02 Nov 2010 13:54:31 GMT]]></title><description><![CDATA[<p>Hmm ne jetzt bin ich mir grade nicht sicher. Bin leider nicht der Fitteste im Programmieren. Habe grade noch einmal geschaut, aber wie ihr es euch denken könnt es ist C <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>
<p>Da kann ich auch verstehen warum eure Programme anders sind</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1974123</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1974123</guid><dc:creator><![CDATA[Koebbe]]></dc:creator><pubDate>Tue, 02 Nov 2010 13:54:31 GMT</pubDate></item><item><title><![CDATA[Reply to Reihe berechnen nur mit Arithmetik und Logik on Tue, 02 Nov 2010 13:55:29 GMT]]></title><description><![CDATA[<p>Da hat sich ja schon wieder ein std::endl eingeschlichen. <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="😮"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1974126</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1974126</guid><dc:creator><![CDATA[volkard]]></dc:creator><pubDate>Tue, 02 Nov 2010 13:55:29 GMT</pubDate></item><item><title><![CDATA[Reply to Reihe berechnen nur mit Arithmetik und Logik on Tue, 02 Nov 2010 13:57:24 GMT]]></title><description><![CDATA[<p>Koebbe schrieb:</p>
<blockquote>
<p>Hmm ne jetzt bin ich mir grade nicht sicher. Bin leider nicht der Fitteste im Programmieren. Habe grade noch einmal geschaut, aber wie ihr es euch denken könnt es ist C <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>
</blockquote>
<p>Dann stell die Frage nochmal im C-Forum. Und schreib dazu, was Du schon hast. Je mehr Du schon hast, desto hilfreicher werden die Antworten.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1974129</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1974129</guid><dc:creator><![CDATA[volkard]]></dc:creator><pubDate>Tue, 02 Nov 2010 13:57:24 GMT</pubDate></item><item><title><![CDATA[Reply to Reihe berechnen nur mit Arithmetik und Logik on Tue, 02 Nov 2010 13:58:43 GMT]]></title><description><![CDATA[<p>SeppJ schrieb:</p>
<blockquote>
<p>Eine habe ich auch noch:</p>
</blockquote>
<p>Auch noch einen</p>
<pre><code class="language-cpp">friend bool operator!=(Addend lhs, Addend rhs)
{
  return !(lhs == rhs);
}
friend bool operator==(Addend lhs, Addend rhs)
{
 return lhs.n == rhs.n;
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1974130</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1974130</guid><dc:creator><![CDATA[brotbernd]]></dc:creator><pubDate>Tue, 02 Nov 2010 13:58:43 GMT</pubDate></item><item><title><![CDATA[Reply to Reihe berechnen nur mit Arithmetik und Logik on Tue, 02 Nov 2010 13:59:27 GMT]]></title><description><![CDATA[<p>Ja danke ich versuche mein bestes <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>
<p>Aber danke euch trotzdem für die schnelle und doch recht Großen Hilfsversuche</p>
<p>Sorry für die umstände</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1974131</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1974131</guid><dc:creator><![CDATA[Koebbe]]></dc:creator><pubDate>Tue, 02 Nov 2010 13:59:27 GMT</pubDate></item><item><title><![CDATA[Reply to Reihe berechnen nur mit Arithmetik und Logik on Tue, 02 Nov 2010 14:08:31 GMT]]></title><description><![CDATA[<p>volkard schrieb:</p>
<blockquote>
<p>Da hat sich ja schon wieder ein std::endl eingeschlichen. <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="😮"
    /></p>
</blockquote>
<p>Dieses Mal meine ich es auch. Am Ende will ich, dass der Puffer geflusht wird.</p>
<p>edit: Wobei ich nicht technisch begründen kann, wieso. Jetzt wo ich drüber nachdenke macht es keinen Sinn, da das cout-Objekt am Programmende ja zerstört werden sollte und dabei geflusht wird.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1974136</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1974136</guid><dc:creator><![CDATA[SeppJ]]></dc:creator><pubDate>Tue, 02 Nov 2010 14:08:31 GMT</pubDate></item><item><title><![CDATA[Reply to Reihe berechnen nur mit Arithmetik und Logik on Tue, 02 Nov 2010 14:37:18 GMT]]></title><description><![CDATA[<p>SeppJ schrieb:</p>
<blockquote>
<p>Eine habe ich auch noch:<br />
Der Operator++(int) sollte besser so aussehen:</p>
<pre><code class="language-cpp">Addend operator++(int)
  {
    Addend old(*this);
    ++(*this);
    return old;
  }
</code></pre>
</blockquote>
<p>brotbernd schrieb:</p>
<blockquote>
<p>Auch noch einen</p>
<pre><code class="language-cpp">friend bool operator!=(Addend lhs, Addend rhs)
{
  return !(lhs == rhs);
}
friend bool operator==(Addend lhs, Addend rhs)
{
 return lhs.n == rhs.n;
}
</code></pre>
</blockquote>
<p>Oder kurz:</p>
<pre><code class="language-cpp">class Addend : public boost::input_iterator_helper&lt;Addend, double&gt;
{
private:
  unsigned int n;
public:
  Addend(unsigned int n=0):n(n){}
  double operator*()
  {
    return 1./((2*n+1)*(2*n+1));
  }
  Addend&amp; operator++()
  {
    ++n;
    return *this;
  } 
  friend bool operator==(Addend lhs, Addend rhs)
  {
    return lhs.n == rhs.n;
  }
};
</code></pre>
<p>- das template von dem abgeleitet wird definiert op!=, op++(int), op-&gt; und die typedefs des std::iterator, die benötigt werden.<br />
siehe <a href="http://www.boost.org/doc/libs/1_39_0/libs/utility/operators.htm#iterator" rel="nofollow">http://www.boost.org/doc/libs/1_39_0/libs/utility/operators.htm#iterator</a><br />
und magazin (<a href="http://magazin.c-plusplus.net/artikel/%DCberladung%20von%20Operatoren%20in%20CPlusPlus%20%28Teil%203%29%20-%20boost%3A%3Aoperators%20f%FCr%20Fortgeschrittene" rel="nofollow">http://magazin.c-plusplus.net/artikel/�berladung von Operatoren in CPlusPlus (Teil 3) - boost%3A%3Aoperators f�r Fortgeschrittene</a>) <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f921.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--clown_face"
      title=":clown:"
      alt="🤡"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1974159</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1974159</guid><dc:creator><![CDATA[pumuckl]]></dc:creator><pubDate>Tue, 02 Nov 2010 14:37:18 GMT</pubDate></item><item><title><![CDATA[Reply to Reihe berechnen nur mit Arithmetik und Logik on Wed, 03 Nov 2010 08:28:55 GMT]]></title><description><![CDATA[<p>Da ich in dem Selben Semester mit dir an der FH D studiere habe ich auch noch eine kleine Frage zum Thema.</p>
<p>meine Reihe sieht so aus :<br />
<a href="http://www.bilder-hochladen.net/files/1a0a-7-jpg-nb.html" rel="nofollow"></a><a href="http://www.bilder-hochladen.net/files/1a0a-7.jpg" rel="nofollow">http://www.bilder-hochladen.net/files/1a0a-7.jpg</a></p>
<p>und ich bin so weit:</p>
<pre><code class="language-cpp">#include&lt;stdio.h&gt;

void main()
{
	printf(&quot;*************************************\n&quot;);
	printf(&quot;*         Schleifenaufgabe          *\n&quot;);
	printf(&quot;*        Autor: Yannik Baus         *\n&quot;);
	printf(&quot;*************************************\n\n&quot;);

	int m,n,k;
	double p;

	printf(&quot;Bitte geben Sie n an:\t&quot;);
	scanf_s(&quot;%i&quot;, &amp;n);

		m=0;
		p=1;
		k=0;

		while(m&lt;=n)	
		{
		p=p+1/k;
		k*3;
		m+1;
		}

	printf(&quot;\nDas Ergebnis lautet: %d\n&quot;,p);
}
</code></pre>
<p>BZW. so weit:</p>
<pre><code class="language-cpp">#include&lt;stdio.h&gt;

void main()
{
printf(&quot;*************************************\n&quot;);
printf(&quot;* Schleifenaufgabe *\n&quot;);
printf(&quot;* Autor: DisasterMaster *\n&quot;);
printf(&quot;*************************************\n\n&quot;);

int m,n,k;
double p;

printf(&quot;Bitte geben Sie n an:\t&quot;);
scanf_s(&quot;%i&quot;, &amp;n);

p=1;

for(m=1 ; m&lt;=n ; m++)

for(k=3 ; k&gt;0 ; k=k*3){
p+=1/k;
break;
}

printf(&quot;\nDas Ergebnis lautet: %d\n&quot;,p);
}
</code></pre>
<p>Ich kriege jedoch immer nur eine 0 als antwort.<br />
Bitte schnell um Hilfe.</p>
<p>/edit pumuckl: cpp-Tags. Demnächst bitte selbst machen!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1974173</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1974173</guid><dc:creator><![CDATA[DisasterMaster]]></dc:creator><pubDate>Wed, 03 Nov 2010 08:28:55 GMT</pubDate></item><item><title><![CDATA[Reply to Reihe berechnen nur mit Arithmetik und Logik on Tue, 02 Nov 2010 15:06:06 GMT]]></title><description><![CDATA[<p>Die Antwort auf die 0 steht bereits in diesem Thread.<br />
int geteilt durch int ergibt int.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1974176</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1974176</guid><dc:creator><![CDATA[volkard]]></dc:creator><pubDate>Tue, 02 Nov 2010 15:06:06 GMT</pubDate></item></channel></rss>