<?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[Berechnung in neue Funktion.]]></title><description><![CDATA[<p>Meine Aufgabe lautet:</p>
<blockquote>
<p># Entwickeln Sie eine C++-Anwendung, die den Anwender zur Eingabe einer Zahl auffordert. Das Programm soll daraufhin die Reihenfolge der Ziffern in der Zahl umdrehen - beispielsweise soll 1234 in 4321 umgewandelt werden. Das Umdrehen der Reihenfolge der Ziffern soll in einer eigenen Funktion erfolgen, die keinen Rückgabewert besitzt und einen Parameter erwartet. Die Ausgabe der umgedrehten Zahl auf den Bildschirm soll in der Funktion main() erfolgen.</p>
</blockquote>
<p>Ich habe das Programm jetzt erstmal in einer Funktion geschrieben, dann sieht es so aus:</p>
<pre><code class="language-cpp">#include &lt;iostream&gt;
using namespace std;

int main()
{
    int zahl, i, umdreher[32];

	for (i = 0; i &lt; 32; ++i)
	{
		umdreher[i] = 0;
	}

    cout &lt;&lt; &quot;Nennen sie eine drei stellige Zahl!\n&quot;;
    cin &gt;&gt; zahl;
    for (i = 0; zahl &gt; 0; zahl = zahl/10)
    {
        umdreher[i] = 0 + zahl%10;
        ++i;
    }
    for (i = 0; i &lt; 32; ++i)
    {
        cout &lt;&lt; umdreher[i];
    }
	cout &lt;&lt; endl;
}
</code></pre>
<p>Im moment, sieht mein Quelltext so aus:</p>
<pre><code class="language-cpp">#include &lt;iostream&gt;
using namespace std;

void rechnung(int &amp;zahl, int &amp;i, int&amp;umrechnung[32])
{	
	for (i = 0; i &lt; 32; ++i)
	{
		umrechnung[i] = 0;
	}

    for (i = 0; zahl &gt; 0; zahl = zahl/10)
    {
        umrechnung[i] = 0 + zahl%10;
        ++i;
    }
int main()
{
    int z, l, u[32];

    cout &lt;&lt; &quot;Nennen sie eine drei stellige Zahl!\n&quot;;
    cin &gt;&gt; z;
	rechnung(z, l, u)
    for (l = 0; l &lt; 32; ++l)
    {
        cout &lt;&lt; u[l];
    }
</code></pre>
<p>Aber der stimmt ja, hinten und vorne nicht. <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>PS:Bitte an die Aufgabenstellung halten (kann sein das ich mich versehentlich nicht dran halte).</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/138992/berechnung-in-neue-funktion</link><generator>RSS for Node</generator><lastBuildDate>Sun, 30 Aug 2026 10:37:38 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/138992.rss" rel="self" type="application/rss+xml"/><pubDate>Thu, 02 Mar 2006 20:21:52 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Berechnung in neue Funktion. on Thu, 02 Mar 2006 20:21:52 GMT]]></title><description><![CDATA[<p>Meine Aufgabe lautet:</p>
<blockquote>
<p># Entwickeln Sie eine C++-Anwendung, die den Anwender zur Eingabe einer Zahl auffordert. Das Programm soll daraufhin die Reihenfolge der Ziffern in der Zahl umdrehen - beispielsweise soll 1234 in 4321 umgewandelt werden. Das Umdrehen der Reihenfolge der Ziffern soll in einer eigenen Funktion erfolgen, die keinen Rückgabewert besitzt und einen Parameter erwartet. Die Ausgabe der umgedrehten Zahl auf den Bildschirm soll in der Funktion main() erfolgen.</p>
</blockquote>
<p>Ich habe das Programm jetzt erstmal in einer Funktion geschrieben, dann sieht es so aus:</p>
<pre><code class="language-cpp">#include &lt;iostream&gt;
using namespace std;

int main()
{
    int zahl, i, umdreher[32];

	for (i = 0; i &lt; 32; ++i)
	{
		umdreher[i] = 0;
	}

    cout &lt;&lt; &quot;Nennen sie eine drei stellige Zahl!\n&quot;;
    cin &gt;&gt; zahl;
    for (i = 0; zahl &gt; 0; zahl = zahl/10)
    {
        umdreher[i] = 0 + zahl%10;
        ++i;
    }
    for (i = 0; i &lt; 32; ++i)
    {
        cout &lt;&lt; umdreher[i];
    }
	cout &lt;&lt; endl;
}
</code></pre>
<p>Im moment, sieht mein Quelltext so aus:</p>
<pre><code class="language-cpp">#include &lt;iostream&gt;
using namespace std;

void rechnung(int &amp;zahl, int &amp;i, int&amp;umrechnung[32])
{	
	for (i = 0; i &lt; 32; ++i)
	{
		umrechnung[i] = 0;
	}

    for (i = 0; zahl &gt; 0; zahl = zahl/10)
    {
        umrechnung[i] = 0 + zahl%10;
        ++i;
    }
int main()
{
    int z, l, u[32];

    cout &lt;&lt; &quot;Nennen sie eine drei stellige Zahl!\n&quot;;
    cin &gt;&gt; z;
	rechnung(z, l, u)
    for (l = 0; l &lt; 32; ++l)
    {
        cout &lt;&lt; u[l];
    }
</code></pre>
<p>Aber der stimmt ja, hinten und vorne nicht. <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>PS:Bitte an die Aufgabenstellung halten (kann sein das ich mich versehentlich nicht dran halte).</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1007127</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1007127</guid><dc:creator><![CDATA[kevin123]]></dc:creator><pubDate>Thu, 02 Mar 2006 20:21:52 GMT</pubDate></item><item><title><![CDATA[Reply to Berechnung in neue Funktion. on Thu, 02 Mar 2006 20:45:57 GMT]]></title><description><![CDATA[<pre><code class="language-cpp">void rechnung(int &amp;zahl) // die anderen Parameter brauchst du nicht!
{
    int res = 0;
    int l = static_cast&lt;int&gt; (std::log10 (zahl)) + 1; // Länge der Zahl bestimmen
    std::cout &lt;&lt; &quot;l = &quot; &lt;&lt; l &lt;&lt; std::endl;
    for (int i = 10; zahl; i *= 10, --l)
    {
        res += (zahl % i) / (i / 10) * static_cast&lt;int&gt; (std::pow (10., l));
        zahl -= (zahl % i);
    }
    zahl = res;
}
</code></pre>
<p>Nicht perfekt, aber auf jeden Fall lauffähiger. Kleiner Tipp: Man erreicht dies einfach durch umbauen eines geläufigen Quersummeprogramms.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1007140</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1007140</guid><dc:creator><![CDATA[.filmor]]></dc:creator><pubDate>Thu, 02 Mar 2006 20:45:57 GMT</pubDate></item><item><title><![CDATA[Reply to Berechnung in neue Funktion. on Thu, 02 Mar 2006 21:11:06 GMT]]></title><description><![CDATA[<p><a class="plugin-mentions-user plugin-mentions-a" href="https://www.c-plusplus.net/forum/uid/9606">@.filmor</a> Dein Algorithmus gibt eine um den Faktor 10 zu große Zahl aus.</p>
<p>Ich versuch's mal mit einer Alternative:</p>
<pre><code class="language-cpp">#include &lt;algorithm&gt;    // reverse
#include &lt;iostream&gt;
#include &lt;sstream&gt;      // stringstream
#include &lt;string&gt;

void umdrehen( int&amp; zahl )
{
    std::stringstream strm;
    strm &lt;&lt; zahl;
    std::string s = strm.str();
    std::reverse( s.begin(), s.end() );
    std::stringstream strm2;
    strm2 &lt;&lt; s;
    strm2 &gt;&gt; zahl;
}

int main()
{
    using namespace std;
    cout &lt;&lt; &quot;Geben Sie bitte eine Zahl ein: &quot;;
    int zahl;
    if( cin &gt;&gt; zahl )
    {
        umdrehen( zahl );
        cout &lt;&lt; &quot;Die umgedrehte Zahl: &quot; &lt;&lt; zahl &lt;&lt; endl;
    }
    return 0;
}
</code></pre>
<p>Gruß<br />
Werner</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1007163</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1007163</guid><dc:creator><![CDATA[Werner Salomon]]></dc:creator><pubDate>Thu, 02 Mar 2006 21:11:06 GMT</pubDate></item><item><title><![CDATA[Reply to Berechnung in neue Funktion. on Thu, 02 Mar 2006 21:22:37 GMT]]></title><description><![CDATA[<p>Oder ohne strings:</p>
<pre><code class="language-cpp">#include &lt;iostream&gt;

void num_reverse(int &amp; num){
     int res = num % 10;
     while(num /= 10){
         res *= 10;
         res += num % 10;
     }
     num = res;
}

int main(){
    std::cout &lt;&lt; &quot;Geben Sie bitte eine Zahl ein: &quot;;
    int num;
    if(std::cin &gt;&gt; num){
        num_reverse(num);
        std::cout &lt;&lt; &quot;Die umgedrehte Zahl: &quot; &lt;&lt; num &lt;&lt; std::endl;
    }
    return 0;
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1007166</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1007166</guid><dc:creator><![CDATA[evilissimo]]></dc:creator><pubDate>Thu, 02 Mar 2006 21:22:37 GMT</pubDate></item><item><title><![CDATA[Reply to Berechnung in neue Funktion. on Thu, 02 Mar 2006 21:21:46 GMT]]></title><description><![CDATA[<p>Leider sind mir davon viele Begriffe nicht bekannt. :|<br />
Kann man es nicht mit den von mir genannten schaffen?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1007168</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1007168</guid><dc:creator><![CDATA[kevin123]]></dc:creator><pubDate>Thu, 02 Mar 2006 21:21:46 GMT</pubDate></item><item><title><![CDATA[Reply to Berechnung in neue Funktion. on Fri, 03 Mar 2006 14:57:58 GMT]]></title><description><![CDATA[<p><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=":confused:"
      alt="😕"
    /> evilissimos Variante nutzt nur Kerneigenschaften der Sprache, ohne die Referenz wäre das sogar unter C gültig. Also, was fehlt dir dabei?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1007736</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1007736</guid><dc:creator><![CDATA[.filmor]]></dc:creator><pubDate>Fri, 03 Mar 2006 14:57:58 GMT</pubDate></item><item><title><![CDATA[Reply to Berechnung in neue Funktion. on Fri, 03 Mar 2006 20:45:45 GMT]]></title><description><![CDATA[<p>.filmor schrieb:</p>
<blockquote>
<p><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=":confused:"
      alt="😕"
    /> evilissimos Variante nutzt nur Kerneigenschaften der Sprache, ohne die Referenz wäre das sogar unter C gültig. Also, was fehlt dir dabei?</p>
</blockquote>
<p>Habe seinen Beitrag garnicht gesehen. o.O (schau auf Erstellungsdatum)</p>
<p>@evilissimos: Ich bedanke mich vielmals, deine Idee mit 30,320,321 ist um einiges besser. <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 />
Aber was ist</p>
<pre><code class="language-cpp">(num /= 10
</code></pre>
<p>für eine Bedingung? Wie wird da die Schleife beendet?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1008026</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1008026</guid><dc:creator><![CDATA[kevin123]]></dc:creator><pubDate>Fri, 03 Mar 2006 20:45:45 GMT</pubDate></item><item><title><![CDATA[Reply to Berechnung in neue Funktion. on Fri, 03 Mar 2006 21:23:04 GMT]]></title><description><![CDATA[<p>Sorry für Doppelpost!</p>
<p>Habe nun meinen Quellcode bearbeitet und die Idee mit dem x*10 übernommen.</p>
<pre><code class="language-cpp">#include &lt;iostream&gt;
using namespace std;

void rechnung(int &amp;zahl)
{	
	int wert;
	for (wert = zahl%10, zahl = zahl/10; zahl &gt; 0; zahl = zahl/10)
	{
		wert = wert*10;
		wert = wert + zahl%10;
	}
	zahl = wert;
}

int main()
{
    int u;	
    cout &lt;&lt; &quot;Nennen sie eine Zahl!\n&quot;;
    cin &gt;&gt; u;
	rechnung(u);
	cout &lt;&lt; u &lt;&lt; endl;
}
</code></pre>
<p>Was sagt ihr dazu?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1008067</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1008067</guid><dc:creator><![CDATA[kevin123]]></dc:creator><pubDate>Fri, 03 Mar 2006 21:23:04 GMT</pubDate></item><item><title><![CDATA[Reply to Berechnung in neue Funktion. on Sat, 04 Mar 2006 10:50:42 GMT]]></title><description><![CDATA[<p>kevin123 schrieb:</p>
<blockquote>
<p>@evilissimos: Ich bedanke mich vielmals, deine Idee mit 30,320,321 ist um einiges besser. <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 />
Aber was ist</p>
<pre><code class="language-cpp">(num /= 10
</code></pre>
<p>für eine Bedingung? Wie wird da die Schleife beendet?</p>
</blockquote>
<p>Das wird so lange ausgeführt bis num / 10 == 0</p>
<pre><code class="language-cpp">num /= 10
</code></pre>
<p>ist das gleiche wie</p>
<pre><code class="language-cpp">num = num / 10
</code></pre>
<p>zu deinem code, der macht eben das, was meiner auch macht aber mit viel mehr code <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>BR evilissimo</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1008302</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1008302</guid><dc:creator><![CDATA[evilissimo]]></dc:creator><pubDate>Sat, 04 Mar 2006 10:50:42 GMT</pubDate></item></channel></rss>