<?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[Was geht nur schief???]]></title><description><![CDATA[<p>Hallo an alle,</p>
<p>eins kurz vornweg: Ich bin nicht so betucht was die Programmierung angeht.<br />
Ich habe bis jetzt mit Ruby programmiert, als ich aber bei der Be- (oder Aus- ?)<br />
rechnung von Primzahlen gelandet bin, war mir Ruby einfach zu langsam. Ruby wird nur Interpretiert und nicht Kompiliert. So bin ich also bei C++ gelandet.</p>
<p>Nun aber zurück zum Thema.</p>
<p>Wenn ich das Progrämmchen ausführe und als Zahl eine 3 eingebe gibt es mir ne 0 anstatt einer 6 zurück. Wo ist mein Denk- bzw. Programmierfehler? Ich komme nicht zurecht.</p>
<pre><code class="language-cpp">#include &lt;iostream&gt;
using namespace std;

int main()
{
    /*  Beschreibung  */
    cout &lt;&lt; endl &lt;&lt; endl;
    cout &lt;&lt; &quot;Mit diesem Tool k\x94nnen Sie sich die Fakult\x84t einer&quot; &lt;&lt; endl;
    cout &lt;&lt; &quot;von Ihnen eingegebenen GANZEN Zahl ausrechnen lassen.&quot; &lt;&lt; endl;
    cout &lt;&lt; endl &lt;&lt; endl;

    /*  Benutzereingabe  */
    int zahl=0;
    cout &lt;&lt; &quot;Geben Sie eine GANZE Zahl ein: &quot;;
    cin &gt;&gt; zahl;
    cout &lt;&lt; endl &lt;&lt; endl;

    /*  Berechnung  */
    int zaehler=0, summe=1;

    for(int i=1; i==zahl; i++)
    {    
        ++zaehler;
        summe = summe * zaehler;
    }

    /*  Ausgabe  */
    cout &lt;&lt; &quot;Die Fakult\x84t von &quot; &lt;&lt; zahl &lt;&lt; &quot; ist gleich &quot; &lt;&lt; summe &lt;&lt; &quot;.&quot; &lt;&lt; endl;
    return 0;
}
</code></pre>
<p>Habt Dank für eine Antwort und Rücksicht auf einen Beginner <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>
<p>3nt0n3</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/170120/was-geht-nur-schief</link><generator>RSS for Node</generator><lastBuildDate>Sun, 05 Apr 2026 10:33:08 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/170120.rss" rel="self" type="application/rss+xml"/><pubDate>Thu, 11 Jan 2007 23:26:58 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Was geht nur schief??? on Fri, 12 Jan 2007 00:21:55 GMT]]></title><description><![CDATA[<p>Hallo an alle,</p>
<p>eins kurz vornweg: Ich bin nicht so betucht was die Programmierung angeht.<br />
Ich habe bis jetzt mit Ruby programmiert, als ich aber bei der Be- (oder Aus- ?)<br />
rechnung von Primzahlen gelandet bin, war mir Ruby einfach zu langsam. Ruby wird nur Interpretiert und nicht Kompiliert. So bin ich also bei C++ gelandet.</p>
<p>Nun aber zurück zum Thema.</p>
<p>Wenn ich das Progrämmchen ausführe und als Zahl eine 3 eingebe gibt es mir ne 0 anstatt einer 6 zurück. Wo ist mein Denk- bzw. Programmierfehler? Ich komme nicht zurecht.</p>
<pre><code class="language-cpp">#include &lt;iostream&gt;
using namespace std;

int main()
{
    /*  Beschreibung  */
    cout &lt;&lt; endl &lt;&lt; endl;
    cout &lt;&lt; &quot;Mit diesem Tool k\x94nnen Sie sich die Fakult\x84t einer&quot; &lt;&lt; endl;
    cout &lt;&lt; &quot;von Ihnen eingegebenen GANZEN Zahl ausrechnen lassen.&quot; &lt;&lt; endl;
    cout &lt;&lt; endl &lt;&lt; endl;

    /*  Benutzereingabe  */
    int zahl=0;
    cout &lt;&lt; &quot;Geben Sie eine GANZE Zahl ein: &quot;;
    cin &gt;&gt; zahl;
    cout &lt;&lt; endl &lt;&lt; endl;

    /*  Berechnung  */
    int zaehler=0, summe=1;

    for(int i=1; i==zahl; i++)
    {    
        ++zaehler;
        summe = summe * zaehler;
    }

    /*  Ausgabe  */
    cout &lt;&lt; &quot;Die Fakult\x84t von &quot; &lt;&lt; zahl &lt;&lt; &quot; ist gleich &quot; &lt;&lt; summe &lt;&lt; &quot;.&quot; &lt;&lt; endl;
    return 0;
}
</code></pre>
<p>Habt Dank für eine Antwort und Rücksicht auf einen Beginner <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>
<p>3nt0n3</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1208368</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1208368</guid><dc:creator><![CDATA[3nt0n3]]></dc:creator><pubDate>Fri, 12 Jan 2007 00:21:55 GMT</pubDate></item><item><title><![CDATA[Reply to Was geht nur schief??? on Fri, 12 Jan 2007 00:00:05 GMT]]></title><description><![CDATA[<p>&quot;i==zahl&quot;<br />
das heisst dein for wird nur 1 (oder 0) mal ausgeführt<br />
sollte aber<br />
&quot;i&lt;=zahl&quot; sein in deinem FOR<br />
koennte auch sein das ich total daneben liege ...bin auch neu<br />
Edit:<br />
Wenn man aber Zahl groesser als 31 eingibt(32,33) kommt eine negative Zahl raus .<br />
Wenn man die Zahl noch mehr erhöht kommt auch &quot;0&quot; raus...hat IMHO etwas mit &quot;Overflow&quot; zu tun.<br />
aber mit 3 und 5 funktionierts <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>~Misha</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1208375</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1208375</guid><dc:creator><![CDATA[Misha]]></dc:creator><pubDate>Fri, 12 Jan 2007 00:00:05 GMT</pubDate></item><item><title><![CDATA[Reply to Was geht nur schief??? on Fri, 12 Jan 2007 00:33:40 GMT]]></title><description><![CDATA[<p>Misha schrieb:</p>
<blockquote>
<p>&quot;i==zahl&quot;<br />
das heisst dein for wird nur 1 (oder 0) mal ausgeführt<br />
sollte aber<br />
&quot;i&lt;=zahl&quot; sein in deinem FOR<br />
koennte auch sein das ich total daneben liege ...bin auch neu<br />
Edit:<br />
Wenn man aber Zahl groesser als 31 eingibt(32,33) kommt eine negative Zahl raus .<br />
Wenn man die Zahl noch mehr erhöht kommt auch &quot;0&quot; raus...hat IMHO etwas mit &quot;Overflow&quot; zu tun.<br />
aber mit 3 und 5 funktionierts <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>~Misha</p>
</blockquote>
<p>richtig,<br />
darum begrenze dein eingabewert auf 30 oder mach summe zu einem double bzw. long int, wobei das letztere dich nicht viel weiter bringt da fakultät zu schnell wächst.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1208384</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1208384</guid><dc:creator><![CDATA[Stelfer]]></dc:creator><pubDate>Fri, 12 Jan 2007 00:33:40 GMT</pubDate></item><item><title><![CDATA[Reply to Was geht nur schief??? on Fri, 12 Jan 2007 00:44:08 GMT]]></title><description><![CDATA[<p>Es sollte eigentlich reichen nur &quot;summe&quot; als double zu deklarieren.</p>
<p>hab aber jetzt eine Frage:<br />
Hab jetz &quot;summe&quot; als Double deklariert...ausgeführt und da kamm bei eingabe&quot;55&quot; ein Zahl raus:<br />
1.26964e+073<br />
ich weiss das SO die grossen Zahlen dargestellt werden(Mein Taschenrechner tuts ja auch^^),aber gibt es eine Möglichkeit sie auch &quot;normal&quot; darzustellen,<br />
Danke,</p>
<p>~Misha</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1208385</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1208385</guid><dc:creator><![CDATA[Misha]]></dc:creator><pubDate>Fri, 12 Jan 2007 00:44:08 GMT</pubDate></item><item><title><![CDATA[Reply to Was geht nur schief??? on Fri, 12 Jan 2007 01:28:20 GMT]]></title><description><![CDATA[<p>Danke für die Antworten, haben mir wirklich geholfen!!!<br />
Das waren ja wirklich nur kleine Fehler... liegt wohl an der Uhrzeit <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>Ich fing schon an mir Gedanken zu machen ob es was bringen würde ob ich zaehler=1<br />
aber dafür zaehler++ nehmen würde... aber nach ner Tasse Kaffe hab ich doch sein gelassen <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>Misha schrieb:</p>
<blockquote>
<p>1.26964e+073<br />
ich weiss das SO die grossen Zahlen dargestellt werden(Mein Taschenrechner tuts ja auch^^),aber gibt es eine Möglichkeit sie auch &quot;normal&quot; darzustellen</p>
</blockquote>
<p>Würde ich auch gern wissen.</p>
<p><strong>EDIT:</strong> mit:</p>
<pre><code class="language-cpp">cout &lt;&lt; fixed;
cout &lt;&lt; summe;
</code></pre>
<p>funktioniert es, sieht aber hässlich aus <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>3nt0n3</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1208388</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1208388</guid><dc:creator><![CDATA[3nt0n3]]></dc:creator><pubDate>Fri, 12 Jan 2007 01:28:20 GMT</pubDate></item><item><title><![CDATA[Reply to Was geht nur schief??? on Fri, 12 Jan 2007 06:34:54 GMT]]></title><description><![CDATA[<p>ps</p>
<pre><code class="language-cpp">int summe=1;
for(int i=0; i&lt;zahl; i++)
    summe *= i;
</code></pre>
<p>da spaarst du die die &quot;zaehler&quot; variable, ist aber geschmackssache</p>
<pre><code class="language-cpp">#include &lt;iostream&gt;
int main()
{
    std::cout &lt;&lt; std::endl &lt;&lt; std::endl;
              &lt;&lt; &quot;Mit diesem Tool k\x94nnen Sie sich die Fakult\x84t einer&quot; &lt;&lt; std::endl;
              &lt;&lt; &quot;von Ihnen eingegebenen GANZEN Zahl ausrechnen lassen.&quot; &lt;&lt; std::endl;
              &lt;&lt; std::endl &lt;&lt; std::endl;

    int zahl=0;
    std::cout &lt;&lt; &quot;Geben Sie eine GANZE Zahl ein: &quot;;
    std::cin &gt;&gt; zahl;
    std::cout &lt;&lt; std::endl &lt;&lt; std::endl;

    int summe=1;

    for(int i=0; i&lt;zahl; ++i)
        summe = summe * zaehler;

    std::cout &lt;&lt; &quot;Die Fakult\x84t von &quot; &lt;&lt; zahl &lt;&lt; &quot; ist gleich &quot; &lt;&lt; summe &lt;&lt; &quot;.&quot; &lt;&lt; std::endl;
    return 0;
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1208414</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1208414</guid><dc:creator><![CDATA[EXDW]]></dc:creator><pubDate>Fri, 12 Jan 2007 06:34:54 GMT</pubDate></item><item><title><![CDATA[Reply to Was geht nur schief??? on Fri, 12 Jan 2007 07:16:16 GMT]]></title><description><![CDATA[<p>Mr Evil schrieb:</p>
<blockquote>
<p>ps</p>
<pre><code class="language-cpp">int summe=1;
for(int i=0; i&lt;zahl; i++)
    summe *= i;
</code></pre>
<p>da spaarst du die die &quot;zaehler&quot; variable, ist aber geschmackssache</p>
</blockquote>
<p>Nur eine Kleinigkeit: Diese Schleife sollte lieber von 1 anfangen zu zählen (sonst rechnest du im ersten Schleifendurchlauf 'summe*=0' - und dann hast du als Endwert immer 0).</p>
<p>Zum Thema Zahlendarstellung: mit der Angabe <code>cout&lt;&lt;fixed&lt;&lt;summe;</code> stellst du die Zahl in der &quot;üblichen&quot; Form dar - das kann bei Werten in der Größenordnung 1e73 ziemlich lang werden <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 bei so großen Werten reicht double sowieso nicht mehr aus, das Ergebnis exakt darzustellen)</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1208425</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1208425</guid><dc:creator><![CDATA[CStoll]]></dc:creator><pubDate>Fri, 12 Jan 2007 07:16:16 GMT</pubDate></item><item><title><![CDATA[Reply to Was geht nur schief??? on Fri, 12 Jan 2007 07:20:47 GMT]]></title><description><![CDATA[<p>ups #gg - stimmt ja, ich ziehe meine aussage mit &quot;zaehler&quot; zurueck #gg</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1208427</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1208427</guid><dc:creator><![CDATA[EXDW]]></dc:creator><pubDate>Fri, 12 Jan 2007 07:20:47 GMT</pubDate></item><item><title><![CDATA[Reply to Was geht nur schief??? on Fri, 12 Jan 2007 11:36:56 GMT]]></title><description><![CDATA[<p>Mr Evil schrieb:</p>
<blockquote>
<pre><code class="language-cpp">for(int i=0; i&lt;zahl; ++i)
        summe = summe * zaehler;
</code></pre>
</blockquote>
<p>CStoll schrieb:</p>
<blockquote>
<p>Nur eine Kleinigkeit: Diese Schleife sollte lieber von 1 anfangen zu zählen (sonst rechnest du im ersten Schleifendurchlauf 'summe*=0' - und dann hast du als Endwert immer 0).</p>
</blockquote>
<p>Aber so wie MR Evil das angeht ist es doch auch richtig. Beim initialisieren hat i zwar den Wert 0 aber durch ++i wird doch i erst iteriert und dann ausgewertet oder liege ich da falsch???</p>
<p>3nt0n3</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1208622</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1208622</guid><dc:creator><![CDATA[3nt0n3]]></dc:creator><pubDate>Fri, 12 Jan 2007 11:36:56 GMT</pubDate></item><item><title><![CDATA[Reply to Was geht nur schief??? on Fri, 12 Jan 2007 11:40:16 GMT]]></title><description><![CDATA[<p>Die Iterationsbedingung wird aber erst am Ende des Schleifendurchlaufs ausgeführt (das heißt, erst nachdem du schon einmal multipliziert hast).</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1208625</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1208625</guid><dc:creator><![CDATA[CStoll]]></dc:creator><pubDate>Fri, 12 Jan 2007 11:40:16 GMT</pubDate></item><item><title><![CDATA[Reply to Was geht nur schief??? on Fri, 12 Jan 2007 17:26:16 GMT]]></title><description><![CDATA[<p>Achso, das wusste ich nicht, aber jetzt <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 />
Danke</p>
<p>3nt0n3</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1208814</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1208814</guid><dc:creator><![CDATA[3nt0n3]]></dc:creator><pubDate>Fri, 12 Jan 2007 17:26:16 GMT</pubDate></item></channel></rss>