<?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[eingegebene Zahl in umgekehrte Richtung ausgeben - reverse digits]]></title><description><![CDATA[<p>Hallo</p>
<p>ich lern an der Uni gerade C++ und hab bei folgender Einstiegsaufgabe ein Problem. Man soll eine eingegebene Zahl (bis zu 8 Ziffern) in umgekehrter Reihenfolge ausgeben. Das ist eigentlich an und für sich ja keine grosse Sache, bzw. ich habe das über eine rekursive Methode gelöst:</p>
<pre><code class="language-cpp">#include &lt;iostream&gt;

using namespace std;

int reverse_digits( int number )
{

	if (number &lt; 10) {
		cout &lt;&lt; number;
	}
	else {
		cout &lt;&lt; number % 10;
		reverse_digits(number / 10);
	}

    return 0;
}

int main( int argc, const char* argv[] )
{
	int number;
	cout&lt;&lt;&quot;Enter a number that at most has eight digits:&quot;;
	cin &gt;&gt; number;

	cout &lt;&lt; &quot;Reverse number is &quot;&lt;&lt; reverse_digits(number) &lt;&lt;endl ;

	return 0;
}
</code></pre>
<p>das Problem ist hierbei aber, dass meine rekursive Methode reverse_digits natürlich bei jedem Durchlauf über cout eine Zahl ausgibt. Ich bräuchte jetzt einen Tipp, wie ich die komplette umgekehrte Zahl aber an die main Funktion übergebe, damit <em>cout &lt;&lt; &quot;Reverse number is &quot;&lt;&lt; reverse_digits(number) &lt;&lt;endl ;</em> die Lösung dann ausgibt?</p>
<p>Nur um sicher zustellen: bitte keine fertigen Lösungen posten, mir wäre es lieber, wenn mir einfach die Richtung gezeigt wird. <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f60b.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--face_savoring_food"
      title=":yum:"
      alt="😋"
    /></p>
<p>grüsse</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/262444/eingegebene-zahl-in-umgekehrte-richtung-ausgeben-reverse-digits</link><generator>RSS for Node</generator><lastBuildDate>Sun, 06 Sep 2026 15:14:02 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/262444.rss" rel="self" type="application/rss+xml"/><pubDate>Sat, 06 Mar 2010 09:05:19 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to eingegebene Zahl in umgekehrte Richtung ausgeben - reverse digits on Sat, 06 Mar 2010 09:05:19 GMT]]></title><description><![CDATA[<p>Hallo</p>
<p>ich lern an der Uni gerade C++ und hab bei folgender Einstiegsaufgabe ein Problem. Man soll eine eingegebene Zahl (bis zu 8 Ziffern) in umgekehrter Reihenfolge ausgeben. Das ist eigentlich an und für sich ja keine grosse Sache, bzw. ich habe das über eine rekursive Methode gelöst:</p>
<pre><code class="language-cpp">#include &lt;iostream&gt;

using namespace std;

int reverse_digits( int number )
{

	if (number &lt; 10) {
		cout &lt;&lt; number;
	}
	else {
		cout &lt;&lt; number % 10;
		reverse_digits(number / 10);
	}

    return 0;
}

int main( int argc, const char* argv[] )
{
	int number;
	cout&lt;&lt;&quot;Enter a number that at most has eight digits:&quot;;
	cin &gt;&gt; number;

	cout &lt;&lt; &quot;Reverse number is &quot;&lt;&lt; reverse_digits(number) &lt;&lt;endl ;

	return 0;
}
</code></pre>
<p>das Problem ist hierbei aber, dass meine rekursive Methode reverse_digits natürlich bei jedem Durchlauf über cout eine Zahl ausgibt. Ich bräuchte jetzt einen Tipp, wie ich die komplette umgekehrte Zahl aber an die main Funktion übergebe, damit <em>cout &lt;&lt; &quot;Reverse number is &quot;&lt;&lt; reverse_digits(number) &lt;&lt;endl ;</em> die Lösung dann ausgibt?</p>
<p>Nur um sicher zustellen: bitte keine fertigen Lösungen posten, mir wäre es lieber, wenn mir einfach die Richtung gezeigt wird. <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f60b.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--face_savoring_food"
      title=":yum:"
      alt="😋"
    /></p>
<p>grüsse</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1865060</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1865060</guid><dc:creator><![CDATA[Airlike]]></dc:creator><pubDate>Sat, 06 Mar 2010 09:05:19 GMT</pubDate></item><item><title><![CDATA[Reply to eingegebene Zahl in umgekehrte Richtung ausgeben - reverse digits on Sat, 06 Mar 2010 09:56:13 GMT]]></title><description><![CDATA[<p>Statt die Ziffern auszugeben, setzt du sie einfach immer vor den Rückgabewert vom nächsten Aufruf von reverse_digits. Mit Strings wäre das recht einfach, mit int geht's aber auch.<br />
Um z.B. 7 vor 123 zu setzen, rechnet man 7*1000+123=7123, was sich durch int zusammengesetzteZahl=pow(10,int(log10(bisherigeZahl))+1)*ersteZiffer+bisherigeZahl; ausdrücken lässt.<br />
Iterativ wäre es (mit Strings) aber einfacher, dann musst du nur das erste mit dem letztem Zeichen, das zweite mit dem zweitletzten vertauschen (mit std::swap) usw.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1865068</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1865068</guid><dc:creator><![CDATA[Athar]]></dc:creator><pubDate>Sat, 06 Mar 2010 09:56:13 GMT</pubDate></item><item><title><![CDATA[Reply to eingegebene Zahl in umgekehrte Richtung ausgeben - reverse digits on Sat, 06 Mar 2010 10:19:04 GMT]]></title><description><![CDATA[<p>danke für die Antwort. Das mit dem Swap habe ich gar nicht berücksichtigt. Ich versuche das gleich mal aus.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1865074</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1865074</guid><dc:creator><![CDATA[Airlike]]></dc:creator><pubDate>Sat, 06 Mar 2010 10:19:04 GMT</pubDate></item><item><title><![CDATA[Reply to eingegebene Zahl in umgekehrte Richtung ausgeben - reverse digits on Sat, 06 Mar 2010 11:25:07 GMT]]></title><description><![CDATA[<pre><code class="language-cpp">string str;
cin &gt;&gt; str;
reverse( str.begin(), str.end() );
cout &lt;&lt; str;
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1865095</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1865095</guid><dc:creator><![CDATA[EOP]]></dc:creator><pubDate>Sat, 06 Mar 2010 11:25:07 GMT</pubDate></item><item><title><![CDATA[Reply to eingegebene Zahl in umgekehrte Richtung ausgeben - reverse digits on Sat, 06 Mar 2010 11:45:51 GMT]]></title><description><![CDATA[<p>habs jetzt so gelöst:</p>
<pre><code class="language-cpp">int revers_digits(int number)
{
    int rev_number = 0;
    while(number &gt; 0)
    {
        rev_number = rev_number * 10 + number % 10;
        number = number / 10;
    }
    return rev_number;
}
</code></pre>
<p>reicht soweit für meine ansprüche <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>
]]></description><link>https://www.c-plusplus.net/forum/post/1865100</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1865100</guid><dc:creator><![CDATA[Airlike]]></dc:creator><pubDate>Sat, 06 Mar 2010 11:45:51 GMT</pubDate></item></channel></rss>