<?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[Probleme mit dem Array]]></title><description><![CDATA[<p>Hey,<br />
damit ihr euch nicht wundert : Ich bin Anfänger in c++ .<br />
Also wollte einen Zahlensystemumrechner machen und bin dabei auf einige Probleme gestoßen. Ich gebe euch einfach mal die Aufgabenstellung :</p>
<p>Zuerst sollen wir eine Klasse ZSUmrechner erstellen zum Umwandeln von ganzen Zahlen im Dezimalsystem in Zahlen Systemen mit beliebegen Basen zwischen 1 und 37. Alle Zahlen über 9 sollen als Buchstaben dargestellt werden.</p>
<p>Die Deklaration soll auf einer Datei namens ZSUmrechner.h gemacht werden und umsetzen sollen wir es auf der Datei ZSUmrecner.cpp .</p>
<p>In dem Hauptprogramm (main.cpp) ist mindestens ein Objekt dieses Typs zu schaffen und für einige verschiedene Basiswerte zu testen. Die gesamte E/A bis auf die Ausgabe des Ergebnisses (dies ist eine spezielle Ausnahme) ist mittels cout und cin im Hauptprogramm zu erledigen.</p>
<p>Dann haben wir noch eine Kurzbescheibung für die Umrechnungsmethode bekommen:</p>
<p>Man berechnet den Rest modulo der Basis B ( Operationszeichen: <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f635.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--dizzy_face"
      title="%)"
      alt="😵"
    /> und speichert diesen in einen Hilfsspeicher an die Position mit Index 0. Danach teilt man den Dezimalwert ganzzahlig durch die Basis und erhält den neuen Wert nWert. Mit nWert wird nun genau so verfahren und man speichert den Ergebniswert an die Position 1, dann 2 usw.... Dies wird fortgesetzt solange nWert ungleich 0 ist. Wenn nWert gleich 0 ist, steht im Hilfsspeicher die komplette Ziffernfolge des Ergebniswertes in dem Zahlsystem mit Basis B (aber in umgekehrter Reihenfolge). Sodann muss in das Attribut ErgWert die berechnete Ziffernfolge in umgekehrter Reihenfolge und mit einem Stringabschlusszeichen „\0“ am Ende geschrieben werden.</p>
<p>Mit der Aufgabe habe ich eigentlich mehrere Probleme und mich würde es freuen wenn diese in diesem Thread auch direkt geklärt werden können.<br />
Also ich hab noch keine Ahnung von Klassen und auch noch nie mit modulo oder mit einem Array gearbeitet. Daher hab ich jetzt mal alles in meiner main datei ohne Klassen geschrieben. Ich versuche mich im Moment am Binärsystem, aber da tauchen schon Probleme auf. Auch weiß ich nicht genau wie ich die Zahlen &gt; 9 darstellen kann . Mit char ?! und einzeln den Zahlen von 10 bis 36 Buchstaben zuordnen?!<br />
Würde mich freuen wenn mir hier geholfen werden kann, auch wenn ich weiß dass, das Ziemlich viele Fragen auf einmal sind . Hier mein Quelltext bei dem ich leider Gottes keinen Fehler finde :(.</p>
<pre><code class="language-cpp">#include&lt;iostream&gt;

using namespace std;

int main(void)
{
int dezWert, x, optionb, B, nWert, p = 0, i;
int ergWert[100];	
do
	{
	cout &lt;&lt; &quot;Das ist ein Umrechner von Zahlensystemen\n&quot; &lt;&lt; &quot;\n&quot;;
	cout &lt;&lt; &quot;Geben Sie ihre Dezimalzahl ein die Sie umrechnen möchten : \n&quot;;
	cin &gt;&gt; dezWert;
	cout &lt;&lt; &quot;Bitte Geben sie nun eine Basis zwischen 2 und 37 ein : \n&quot;;
	cin &gt;&gt; optionb;
	if(optionb == '2')
		{
		do
			{
			B = 2;
			ergWert[p] = dezWert % B;
			nWert = dezWert - ergWert[p];
			x = nWert / B;
			x = dezWert;
			p++;
			}while(x != 0);

			cout &lt;&lt; &quot;Die Dezimalzahl : &quot; &lt;&lt; dezWert &lt;&lt; &quot;im Binärsystem : \n&quot;;

			for (i=0; i&lt;p; i++)
			{
			cout &lt;&lt; ergWert[i] &lt;&lt; &quot;\n&quot;;
			}

		}
	}while(true);
}
</code></pre>
<p>Danke schon einmal !! <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="🙂"
    /> <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="👍"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/topic/276593/probleme-mit-dem-array</link><generator>RSS for Node</generator><lastBuildDate>Thu, 20 Aug 2026 17:25:01 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/276593.rss" rel="self" type="application/rss+xml"/><pubDate>Fri, 05 Nov 2010 03:20:32 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Probleme mit dem Array on Fri, 05 Nov 2010 03:20:32 GMT]]></title><description><![CDATA[<p>Hey,<br />
damit ihr euch nicht wundert : Ich bin Anfänger in c++ .<br />
Also wollte einen Zahlensystemumrechner machen und bin dabei auf einige Probleme gestoßen. Ich gebe euch einfach mal die Aufgabenstellung :</p>
<p>Zuerst sollen wir eine Klasse ZSUmrechner erstellen zum Umwandeln von ganzen Zahlen im Dezimalsystem in Zahlen Systemen mit beliebegen Basen zwischen 1 und 37. Alle Zahlen über 9 sollen als Buchstaben dargestellt werden.</p>
<p>Die Deklaration soll auf einer Datei namens ZSUmrechner.h gemacht werden und umsetzen sollen wir es auf der Datei ZSUmrecner.cpp .</p>
<p>In dem Hauptprogramm (main.cpp) ist mindestens ein Objekt dieses Typs zu schaffen und für einige verschiedene Basiswerte zu testen. Die gesamte E/A bis auf die Ausgabe des Ergebnisses (dies ist eine spezielle Ausnahme) ist mittels cout und cin im Hauptprogramm zu erledigen.</p>
<p>Dann haben wir noch eine Kurzbescheibung für die Umrechnungsmethode bekommen:</p>
<p>Man berechnet den Rest modulo der Basis B ( Operationszeichen: <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f635.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--dizzy_face"
      title="%)"
      alt="😵"
    /> und speichert diesen in einen Hilfsspeicher an die Position mit Index 0. Danach teilt man den Dezimalwert ganzzahlig durch die Basis und erhält den neuen Wert nWert. Mit nWert wird nun genau so verfahren und man speichert den Ergebniswert an die Position 1, dann 2 usw.... Dies wird fortgesetzt solange nWert ungleich 0 ist. Wenn nWert gleich 0 ist, steht im Hilfsspeicher die komplette Ziffernfolge des Ergebniswertes in dem Zahlsystem mit Basis B (aber in umgekehrter Reihenfolge). Sodann muss in das Attribut ErgWert die berechnete Ziffernfolge in umgekehrter Reihenfolge und mit einem Stringabschlusszeichen „\0“ am Ende geschrieben werden.</p>
<p>Mit der Aufgabe habe ich eigentlich mehrere Probleme und mich würde es freuen wenn diese in diesem Thread auch direkt geklärt werden können.<br />
Also ich hab noch keine Ahnung von Klassen und auch noch nie mit modulo oder mit einem Array gearbeitet. Daher hab ich jetzt mal alles in meiner main datei ohne Klassen geschrieben. Ich versuche mich im Moment am Binärsystem, aber da tauchen schon Probleme auf. Auch weiß ich nicht genau wie ich die Zahlen &gt; 9 darstellen kann . Mit char ?! und einzeln den Zahlen von 10 bis 36 Buchstaben zuordnen?!<br />
Würde mich freuen wenn mir hier geholfen werden kann, auch wenn ich weiß dass, das Ziemlich viele Fragen auf einmal sind . Hier mein Quelltext bei dem ich leider Gottes keinen Fehler finde :(.</p>
<pre><code class="language-cpp">#include&lt;iostream&gt;

using namespace std;

int main(void)
{
int dezWert, x, optionb, B, nWert, p = 0, i;
int ergWert[100];	
do
	{
	cout &lt;&lt; &quot;Das ist ein Umrechner von Zahlensystemen\n&quot; &lt;&lt; &quot;\n&quot;;
	cout &lt;&lt; &quot;Geben Sie ihre Dezimalzahl ein die Sie umrechnen möchten : \n&quot;;
	cin &gt;&gt; dezWert;
	cout &lt;&lt; &quot;Bitte Geben sie nun eine Basis zwischen 2 und 37 ein : \n&quot;;
	cin &gt;&gt; optionb;
	if(optionb == '2')
		{
		do
			{
			B = 2;
			ergWert[p] = dezWert % B;
			nWert = dezWert - ergWert[p];
			x = nWert / B;
			x = dezWert;
			p++;
			}while(x != 0);

			cout &lt;&lt; &quot;Die Dezimalzahl : &quot; &lt;&lt; dezWert &lt;&lt; &quot;im Binärsystem : \n&quot;;

			for (i=0; i&lt;p; i++)
			{
			cout &lt;&lt; ergWert[i] &lt;&lt; &quot;\n&quot;;
			}

		}
	}while(true);
}
</code></pre>
<p>Danke schon einmal !! <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="🙂"
    /> <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="👍"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1975485</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1975485</guid><dc:creator><![CDATA[fuman]]></dc:creator><pubDate>Fri, 05 Nov 2010 03:20:32 GMT</pubDate></item><item><title><![CDATA[Reply to Probleme mit dem Array on Fri, 05 Nov 2010 09:18:57 GMT]]></title><description><![CDATA[<p>ich helf mal:</p>
<pre><code class="language-cpp">#include &lt;string&gt;
#include &lt;iostream&gt;

class ZSUmrechner {
public:
  /// Konstruktor der den Integer Wert ggf. setzt
  /// @param[in] int wert Der zu setzende Wert oder 0
  ZSUmrechner(int wert=0) : gesetzterWert(wert) {}  

  /// Setzt den Integer Wert
  /// @param[in] int wert Der zu setzende Wert
  void setzeZahl(int wert);

  /// Gibt den gesetzten Integer Wert zuück
  /// @param[in] int wert Der zu setzende Wert
  int welcheZahl();

  /// Gibt den umgewandelten Wert zurücl
  /// @param[in] int wert Basis [11..37]
  /// @return std::string der den Wert enhält
  std::string umgerechneterWertAlsString(unsigned short int basis);

private: // methods
  /// Gibt den umgewandelten Wert zurücl
  /// @param[in] int wert Basis [2..10]
  /// @return std::string der den Wert enhält
  std::string rechneUm(int basis);

private: // members
 int gesetzterWert;
};
</code></pre>
<pre><code class="language-cpp">void ZSUmrechner::setzeZahl(int wert) {
    gesetzterWert = wert;
}

int ZSUmrechner::welcheZahl() {
    return gesetzterWert;
}

std::string ZSUmrechner::umgerechneterWertAlsString(unsigned short int basis) {
    return rechneUm(basis);
}

std::string ZSUmrechner::rechneUm(unsigned short int basis) {
    const char lookUpTable [] = &quot;0123456789abcdefghijklmnopqrstuvwxyz&quot;;
    std::string ergebnisReverse;

    // hier musste dann rumrechnen .. 
}
</code></pre>
<p>Die Aufgabe zielt warscheinlich auf char-arrays ab, einfacher (und c++'igger) ist die Nutzung von std::string (<a href="http://www.cplusplus.com/reference/string/string/" rel="nofollow">http://www.cplusplus.com/reference/string/string/</a>). Da gibts sowas wie <code>push_back(&quot;was&quot;)</code> und <code>insert(pos,&quot;was&quot;)</code> , sieh in die API.</p>
<p>Dann google mal nach lookuptable und mach dir ein Kopf wie das Konstrukt in rechneUm(...) praktisch sein könnte beim umrechnen <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>Viel Spass dabei</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1975523</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1975523</guid><dc:creator><![CDATA[padreigh]]></dc:creator><pubDate>Fri, 05 Nov 2010 09:18:57 GMT</pubDate></item><item><title><![CDATA[Reply to Probleme mit dem Array on Fri, 05 Nov 2010 09:03:37 GMT]]></title><description><![CDATA[<p>fuman schrieb:</p>
<blockquote>
<p>Also ich hab noch keine Ahnung von Klassen</p>
</blockquote>
<p>Ja dann musst Du das ändern!</p>
<p>fuman schrieb:</p>
<blockquote>
<p>und auch noch nie mit modulo oder mit einem Array gearbeitet.</p>
</blockquote>
<p>Ja dann musst Du das ändern!</p>
<p>fuman schrieb:</p>
<blockquote>
<p>Auch weiß ich nicht genau wie ich die Zahlen &gt; 9 darstellen kann . Mit char ?! und einzeln den Zahlen von 10 bis 36 Buchstaben zuordnen?!</p>
</blockquote>
<p>Ja. Du könntest Dir dazu zB zwei Funktionen schreiben. Eine ordnet einem Zeichen einen Wert zu und die andere ordnet einem Wert ein Zeichen zu.</p>
<p>fuman schrieb:</p>
<blockquote>
<p>Würde mich freuen wenn mir hier geholfen werden kann, auch wenn ich weiß dass, das Ziemlich viele Fragen auf einmal sind.</p>
</blockquote>
<p>So viele Fragen sind das gar nicht. Ich habe nur eine gesehen. Du musst aber schon konkretere Fragen stellen. Du kannst nicht erwarten, dass man Dir Klassen, Arrays und % komplett erklärt. Das musst Du schon selbst anhand von Lehrmaterial erarbeiten. Wenn Du konkrete Fragen dazu hast, kannst Du sie natürlich hier stellen.</p>
<p>kk</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1975526</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1975526</guid><dc:creator><![CDATA[krümelkacker]]></dc:creator><pubDate>Fri, 05 Nov 2010 09:03:37 GMT</pubDate></item><item><title><![CDATA[Reply to Probleme mit dem Array on Tue, 17 May 2011 18:48:35 GMT]]></title><description><![CDATA[<p>und wie weit bist du damit jetzt?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2064864</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2064864</guid><dc:creator><![CDATA[ich1989]]></dc:creator><pubDate>Tue, 17 May 2011 18:48:35 GMT</pubDate></item></channel></rss>