<?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[Verständnisproblem bei Aufgabe]]></title><description><![CDATA[<p>Hi,<br />
ich habe gerade erst angefangen mit c++ zu programmieren(bzw. überhaupt zu programmieren)und bisher waren die Aufgaben leicht, jetzt komm ich aber net mehr weiter.<br />
Ich muss folgende Aufgabe lösen und habe da ein Verständnidproblem:<br />
Programm soll entworfen werden, mit dem</p>
<blockquote>
<p>-eine ganze Zahl in einem beliebigen Zahlenformat bis zur Basis 20 eingegeben werden kann.<br />
-diese Zahl in ein beliebiges Zahlenformat bis zur Basis 20 gewandelt wird<br />
-diese gewandelteZahl ausgegeben wird.</p>
</blockquote>
<p>Ich verstehe die Aufgabe nicht so richtig, könnt ihr mir sagen, was ich genau machen muss?<br />
Ich habe sie so verstanden, dass zum Bsp. 1101, Basis 2 eingegeben wird,<br />
das soll dann zu Basis 4 in 0031 gewandelt werden<br />
Stimmt das?</p>
<p>Vielen Dank schon mal für die Hilfe<br />
Martin</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/168199/verständnisproblem-bei-aufgabe</link><generator>RSS for Node</generator><lastBuildDate>Wed, 16 Sep 2026 08:28:05 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/168199.rss" rel="self" type="application/rss+xml"/><pubDate>Tue, 19 Dec 2006 14:52:03 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Verständnisproblem bei Aufgabe on Tue, 19 Dec 2006 14:52:03 GMT]]></title><description><![CDATA[<p>Hi,<br />
ich habe gerade erst angefangen mit c++ zu programmieren(bzw. überhaupt zu programmieren)und bisher waren die Aufgaben leicht, jetzt komm ich aber net mehr weiter.<br />
Ich muss folgende Aufgabe lösen und habe da ein Verständnidproblem:<br />
Programm soll entworfen werden, mit dem</p>
<blockquote>
<p>-eine ganze Zahl in einem beliebigen Zahlenformat bis zur Basis 20 eingegeben werden kann.<br />
-diese Zahl in ein beliebiges Zahlenformat bis zur Basis 20 gewandelt wird<br />
-diese gewandelteZahl ausgegeben wird.</p>
</blockquote>
<p>Ich verstehe die Aufgabe nicht so richtig, könnt ihr mir sagen, was ich genau machen muss?<br />
Ich habe sie so verstanden, dass zum Bsp. 1101, Basis 2 eingegeben wird,<br />
das soll dann zu Basis 4 in 0031 gewandelt werden<br />
Stimmt das?</p>
<p>Vielen Dank schon mal für die Hilfe<br />
Martin</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1194869</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1194869</guid><dc:creator><![CDATA[Martin18]]></dc:creator><pubDate>Tue, 19 Dec 2006 14:52:03 GMT</pubDate></item><item><title><![CDATA[Reply to Verständnisproblem bei Aufgabe on Tue, 19 Dec 2006 15:31:11 GMT]]></title><description><![CDATA[<p>Martin18 schrieb:</p>
<blockquote>
<p>Stimmt das?</p>
</blockquote>
<p>stimmt, allerdings kommen dabei auch noch die ersten zehn buchstaben des alphabets mit ins spiel <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="😉"
    /><br />
hier haste 'ne funktion zur ausgabe: <a href="http://www.jbox.dk/sanos/source/lib/xtoa.c.html" rel="nofollow">http://www.jbox.dk/sanos/source/lib/xtoa.c.html</a></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1194898</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1194898</guid><dc:creator><![CDATA[ten]]></dc:creator><pubDate>Tue, 19 Dec 2006 15:31:11 GMT</pubDate></item><item><title><![CDATA[Reply to Verständnisproblem bei Aufgabe on Tue, 19 Dec 2006 18:46:40 GMT]]></title><description><![CDATA[<p>Hi,<br />
vielen dank für den Tip, ich habe das Programm jetzt mal geschrieben, wie ich es für richtig halte. Ich habe bei c++ noch nicht so den Durchblick und programmiere erst seit ein paar Wochen.<br />
Sind bestimmt tausend Sachen falsch, aber ihr würdet mir einen großen Gefallen tuen, wenn ihr mir helft.</p>
<p>Das Programm sieht wie folgt aus:</p>
<blockquote>
<p># include &lt;iostream&gt;<br />
using namespace std;</p>
<p>static void xtoa(int val, char *buf, int radix)<br />
{<br />
char *p;<br />
char *firstdig;<br />
char temp;<br />
int digval;</p>
<p>p = buf;<br />
firstdig = p;</p>
<p>do<br />
{<br />
digval =(val % radix);<br />
val /= radix;</p>
<p>if (digval &gt; 9)<br />
*p++ = (char) (digval - 10 + 'a');<br />
else<br />
*p++ = (char) (digval + '0');<br />
} while (val &gt; 0);</p>
<p>*p-- = '\0';<br />
do<br />
{<br />
temp = *p;<br />
*p = *firstdig;<br />
*firstdig = temp;<br />
p--;<br />
firstdig++;<br />
} while (firstdig &lt; p);<br />
}</p>
<p>char *itoa(int val, char *buf, int radix)<br />
{<br />
if (radix == 10 &amp;&amp; val &lt; 0)<br />
xtoa(val, buf, radix);<br />
else<br />
xtoa( val, buf, radix);<br />
return buf;<br />
}</p>
<p>int main()<br />
{int basis,basis2,summe;<br />
cout&lt;&lt;&quot;Basis eingeben&quot;&lt;&lt;endl;<br />
cin&gt;&gt;basis;<br />
cout&lt;&lt;&quot;&quot;&lt;&lt;endl;<br />
const int max=10;<br />
int daten[max]={0};<br />
int zaehler=0,zahl;<br />
do{<br />
cout&lt;&lt;&quot;Zahl eingeben&quot;&lt;&lt;endl;<br />
cin&gt;&gt;zahl;<br />
daten[zaehler]=zahl;<br />
zaehler++;<br />
}<br />
while(zaehler&lt;=10);</p>
<p>cout&lt;&lt;&quot;gewuenschte Basis eingeben&quot;&lt;&lt;endl;<br />
cin&gt;&gt;basis2;</p>
<p>for(int i=0;i&lt;zaehler;i++)<br />
{ if(zahl&gt;0)<br />
summe=summe+zahl*basis^i;<br />
else<br />
summe=summe+0;<br />
return summe;<br />
}</p>
<p>char itoa(summe,char *daten[zaehler],basis2); HIER GIBT FEHLERMELDUNG WEGEN CHAR<br />
cout&lt;&lt;daten[zaehler]&lt;&lt;endl;<br />
return 0;</p>
<p>}</p>
</blockquote>
<p>Im Hauptprogramm soll er erst die Zahl(zb 10110...)einlesen und dann in einen normale Zahl umwandeln. Diese Zahl soll dann durch xtoa und schließlich itoa wieder mit der Basis2 umgewandelt werden.</p>
<p>Gruß Martin</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1195035</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1195035</guid><dc:creator><![CDATA[Martin18]]></dc:creator><pubDate>Tue, 19 Dec 2006 18:46:40 GMT</pubDate></item><item><title><![CDATA[Reply to Verständnisproblem bei Aufgabe on Wed, 20 Dec 2006 03:50:34 GMT]]></title><description><![CDATA[<p>Benutze am besten die C/C++ Tags fuer den Code, die haben auch Syntaxhighlighting.</p>
<p>Hab jetzt (erstmal) nur die main ueberflogen (grad nur Mittagspause in der Schule)</p>
<p>1. In der Regel deklariert man Variablen in C++ ab da wo man sie braucht (siehe deklaration von basis2 und summe)</p>
<ol start="2">
<li></li>
</ol>
<pre><code class="language-cpp">cout&lt;&lt;&quot;&quot;&lt;&lt;endl;
</code></pre>
<p>Wozu das &quot;&quot; wenn du eh ein endl machst??</p>
<ol start="3">
<li></li>
</ol>
<pre><code class="language-cpp">const int max=10;
</code></pre>
<p>du verwendest max nur an einer Stelle, da kannst du die Zahl auch gleich hinschreiben ODER besser du schreibst diese Deklaration an eine leicht zu findende Stelle (und nicht direkt ueber die Stelle wo du sie brauchst) Dies steht ausnahmwesie im gegensatz zu dem was ich unter 1 gesagt hat, weil du const int max nicht irgendwie ab dann brauchst sondern es eher verhindern soll, dass du sogenannte magic numbers verwendest)</p>
<ol start="4">
<li></li>
</ol>
<pre><code class="language-cpp">do{ 
cout&lt;&lt;&quot;Zahl eingeben&quot;&lt;&lt;endl; 
cin&gt;&gt;zahl; 
daten[zaehler]=zahl; 
zaehler++; 
} 
while(zaehler&lt;=10);
</code></pre>
<p>Das kannst du in eine for Schleife umwandeln. Ausserdem WENN du schon cont int max degfinierst um nicht 10 schreiben zu muessen solltest du die Variable auch hier verwenden.</p>
<ol start="5">
<li></li>
</ol>
<pre><code class="language-cpp">summe=summe+0;
</code></pre>
<p>Also, das ist sinnfrei. Das else kannst du da gleich weglassen.</p>
<ol start="6">
<li></li>
</ol>
<pre><code class="language-cpp">return summe;
</code></pre>
<p>Hmm, nee... return ist fuer den Rueckgabewert von Funktionen gedacht. Keine Ahnung was du jetzt damit machen wolltest.</p>
<ol start="7">
<li></li>
</ol>
<pre><code class="language-cpp">summe=summe+zahl*basis^i;
</code></pre>
<p>Solltest du basis hoch i meinen dann ist das falsch! ^ ist in C++ NICHT fuer exponente gedacht!! Ausserdem meinst meienr Meinung nach nicht zahl sondern daten[i], oder?</p>
<ol start="8">
<li></li>
</ol>
<pre><code class="language-cpp">char itoa(summe,char *daten[zaehler],basis2); HIER GIBT FEHLERMELDUNG WEGEN CHAR
</code></pre>
<p>Logisch, nee? siehe:</p>
<pre><code class="language-cpp">int daten[max]={0};
</code></pre>
<p>Du hast ein int array und ploetlich deklarierst du das neu als char*. Falls du aus dem int array ein char array machen wollen muesstest du casten.</p>
<ol start="9">
<li></li>
</ol>
<pre><code class="language-cpp">for(int i=0;i&lt;zaehler;i++)
</code></pre>
<p>ebenso, hier solltest du wieder dein max verwenden.</p>
<p>Den Rest wird sich, ebvor ich wieder schreiben kann, wohl sowieso schon ein anderer angesehen haben.</p>
<p>PS: ich bin selbst noch Anfaenger, denke aber, dass das soweit alles stimmt.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1195185</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1195185</guid><dc:creator><![CDATA[Shinja]]></dc:creator><pubDate>Wed, 20 Dec 2006 03:50:34 GMT</pubDate></item></channel></rss>