<?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[Felderein-&#x2F;ausgabe]]></title><description><![CDATA[<p>Hi!</p>
<p>Also ich dachte (zumindest habe ich das in der Vorlesung so verstanden), dass wenn ich z.B Feld[10] eingebe, wird ein Feld mit 10 Stellen (von 0 bis 9) eingespeichert.</p>
<p>Wenn ich z.B aber cout&lt;&lt;b[3]&lt;&lt;endl; mache.. Also das 3.Element möchte, hat er eine 3 ausgespuckt. Zuerst dachte ich, dass er die 3 meinte..<br />
Aber als ich b[10] eingegeben habe, kam auch die 3 heraus?<br />
Wie darf ich das interpretieren?</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/198256/felderein-ausgabe</link><generator>RSS for Node</generator><lastBuildDate>Fri, 02 Oct 2026 03:29:36 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/198256.rss" rel="self" type="application/rss+xml"/><pubDate>Mon, 19 Nov 2007 23:10:50 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Felderein-&#x2F;ausgabe on Mon, 19 Nov 2007 23:10:50 GMT]]></title><description><![CDATA[<p>Hi!</p>
<p>Also ich dachte (zumindest habe ich das in der Vorlesung so verstanden), dass wenn ich z.B Feld[10] eingebe, wird ein Feld mit 10 Stellen (von 0 bis 9) eingespeichert.</p>
<p>Wenn ich z.B aber cout&lt;&lt;b[3]&lt;&lt;endl; mache.. Also das 3.Element möchte, hat er eine 3 ausgespuckt. Zuerst dachte ich, dass er die 3 meinte..<br />
Aber als ich b[10] eingegeben habe, kam auch die 3 heraus?<br />
Wie darf ich das interpretieren?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1406280</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1406280</guid><dc:creator><![CDATA[Andy_KA87]]></dc:creator><pubDate>Mon, 19 Nov 2007 23:10:50 GMT</pubDate></item><item><title><![CDATA[Reply to Felderein-&#x2F;ausgabe on Mon, 19 Nov 2007 23:14:58 GMT]]></title><description><![CDATA[<p>b[10] ist undefiniert, fertig.</p>
<p>Der bereich des Arrays geht, wie du gesagt hast von 0 bis n-1 (0 bis 9)</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1406283</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1406283</guid><dc:creator><![CDATA[The-Kenny]]></dc:creator><pubDate>Mon, 19 Nov 2007 23:14:58 GMT</pubDate></item><item><title><![CDATA[Reply to Felderein-&#x2F;ausgabe on Tue, 20 Nov 2007 18:18:20 GMT]]></title><description><![CDATA[<p>Ja stimmt.. Ich dachte aber, dass es dann das 10.Element ausgibt, also die 9.<br />
Also ist z.B b[4]=4 ?<br />
Nunja.</p>
<p>Hab noch eine Frage.. bzw hänge gerade..!</p>
<p>Hier die Aufgabe 6:<br />
<a href="http://www.mathematik.uni-karlsruhe.de/ianm2/lehre/cpp2007w/media/cpp-ws07-ab03-a5.pdf" rel="nofollow">http://www.mathematik.uni-karlsruhe.de/ianm2/lehre/cpp2007w/media/cpp-ws07-ab03-a5.pdf</a><br />
Aufgabe 5 habe ich hinbekommen.<br />
Aber bei der Aufgabe 6 hänge ich..<br />
Ich finde auch unser Prof hat das mit den Feldern nich so verständlich erklärt..<br />
Haben ein paar Probleme mit.</p>
<p>Und zwar bin ich bisher hier:</p>
<pre><code class="language-cpp">#include &lt;iostream&gt;
#include &lt;math.h&gt;
using namespace std;

int main()
{
	int m, z;

	const int=1;
	double b[k];
	int k;

	cout&lt;&lt;&quot;Wieviele Stellen hat die Dezimalzahl?&quot;&lt;&lt;endl;
	cin&gt;&gt;m;
	if(m&lt;0) cout&lt;&lt;&quot;Bitte geben Sie einen positiven Wert ein.&quot;&lt;&lt;endl;
	z=0;

	for(z=0;k=0;k&lt;=(m-1);k++)
		{
			z+= b[k]*(10^k);
</code></pre>
<p>Ist die Formel so richtig?<br />
Also das ist ja nun vorerst der 1.Abschnitt.</p>
<p>Irgendwie war alles vor den Feldern für mich ziemlich verständlich und konnte die Aufgaben auch immer recht schnell in den Praktika lösen, aber da hing ich...<br />
(falls es wen interessiert: <a href="http://www.mathematik.uni-karlsruhe.de/ianm2/lehre/cpp2007w" rel="nofollow">Unsere HP zur Vorlesung</a></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1406816</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1406816</guid><dc:creator><![CDATA[Andy_KA87]]></dc:creator><pubDate>Tue, 20 Nov 2007 18:18:20 GMT</pubDate></item><item><title><![CDATA[Reply to Felderein-&#x2F;ausgabe on Wed, 21 Nov 2007 06:15:00 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="😕"
    /> <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/1407084</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1407084</guid><dc:creator><![CDATA[Andy_KA87]]></dc:creator><pubDate>Wed, 21 Nov 2007 06:15:00 GMT</pubDate></item><item><title><![CDATA[Reply to Felderein-&#x2F;ausgabe on Wed, 21 Nov 2007 08:02:55 GMT]]></title><description><![CDATA[<p>abgesehen davon, daß &quot;10^k&quot; nicht die Potenz ist (^ ist XOR), sieht die Formel gut aus - und du solltest die einzelnen Werte auch noch eingeben.<br />
(btw, für die einzelnen Ziffern würde ich ein int-Array verwenden)</p>
<p>PS: Was mir noch nachträglich aufgefallen ist: Du kannst ein Array nicht anlegen, wenn du die Größe erst danach einlesen willst - die muß bereits beim Compilieren feststehen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1407123</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1407123</guid><dc:creator><![CDATA[CStoll]]></dc:creator><pubDate>Wed, 21 Nov 2007 08:02:55 GMT</pubDate></item><item><title><![CDATA[Reply to Felderein-&#x2F;ausgabe on Wed, 21 Nov 2007 11:29:42 GMT]]></title><description><![CDATA[<p>MoinMoin...</p>
<p>das mit den Feldern (Arrays) ist eigentlich eine ganz einfache Sache (wenn man es denn erst einmal verstanden hat). Felder sind nichts weiter als Zeiger (engl. Pointer) (<strong>EDIT</strong> - Siehe Folgepostings!).</p>
<p>Was ist ein Zeiger?</p>
<p>Ein Zeiger zeigt (wer hätte das gedacht) auf <strong>eine</strong> bestimmte Speicherstelle. Dem Zeiger ist es egal, wie groß der Speicherbereich ist auf welchen er zeigt. Er zeigt immer auf das erste Element.</p>
<pre><code class="language-cpp">int feld[10];
// Hier wird ein Feld mit einer Größe für 10 Elemente vom Typ int im Speicher
//  reserviert. Auf einer herkömmlichen x86-Architektur (32-bit) sind
//  das 10 x 4 Bytes. 'feld' zeigt nun auf den Anfang dieses
//  Speicherbereiches. Die Werte der Elemente sind zu diesem Zeitpunkt
//  völlig willkürlich!
</code></pre>
<p>Um nun auf die einzelnen Elemente des Feldes zugreifen zu können, wird der so genannte Index-Operator (<strong>operator[](size_t)</strong>) verwendet (eben die eckigen Klammern). Bei den &quot;normalen&quot; Datentypen kann man sich den Zugriff auf die Elemente wie in einer linearen Gleichung vorstellen:</p>
<p>Adresse = Startadresse + Index * GrößeElement</p>
<p>Oder als C++-Code:</p>
<pre><code class="language-cpp">int wert_aus_feld = Startadresse[Index];
// Die Größe des Elementes ist dem Compiler bekannt, darum muss man sich
//  nicht selbst kümmern.

Startadresse[Index] = wert_in_feld;
// Eben um einen Wert in das Feld zu speichern.
</code></pre>
<p>Aus der oben genannten Gleichung lässt sich ableiten, dass das erste Elemente immer den Index 0 hat und das letzte Element eben den Index Feldlänge-1.</p>
<p><strong>EDIT</strong> - Nachfolgender Absatz ist getrichen, da es sich um eine falsche Aussage meinerseits handelte (siehe Folgepostings):</p>
<blockquote>
<p>Anzumerken ist noch, dass der Compiler die Länge des Feldes nicht kennt. Du musst auf jeden Fall selbst prüfen, dass du bei den Zugriffen auf die Felder die Grenzen nicht überschreites (diese netten &quot;Segmentation-Faults&quot;/&quot;Speicherzugriffsverletzung&quot; wären die Folge).</p>
</blockquote>
<p>Genug der Theorie...</p>
<p>Im Netz gibt es zahlreiche Informationen zu Zeigern, die du dir in diesem Fall ruhig mal ansehen kannst (<strong>EDIT</strong> - Ich mir im übrigen auch noch mal).</p>
<p>Grüße... Heiko</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1407126</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1407126</guid><dc:creator><![CDATA[bwbg]]></dc:creator><pubDate>Wed, 21 Nov 2007 11:29:42 GMT</pubDate></item><item><title><![CDATA[Reply to Felderein-&#x2F;ausgabe on Wed, 21 Nov 2007 09:44:56 GMT]]></title><description><![CDATA[<p>bwbg schrieb:</p>
<blockquote>
<p>Felder sind nichts weiter als Zeiger (engl. Pointer).</p>
</blockquote>
<p>nein.</p>
<p>bwbg schrieb:</p>
<blockquote>
<p>Anzumerken ist noch, dass der Compiler die Länge des Feldes nicht kennt.</p>
</blockquote>
<p>nein.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1407169</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1407169</guid><dc:creator><![CDATA[camper]]></dc:creator><pubDate>Wed, 21 Nov 2007 09:44:56 GMT</pubDate></item><item><title><![CDATA[Reply to Felderein-&#x2F;ausgabe on Wed, 21 Nov 2007 10:51:57 GMT]]></title><description><![CDATA[<p>camper schrieb:</p>
<blockquote>
<p>bwbg schrieb:</p>
<blockquote>
<p>Felder sind nichts weiter als Zeiger (engl. Pointer).</p>
</blockquote>
<p>nein.</p>
</blockquote>
<p>Etwas missverständlich habe ich mich da wohl ausgedrückt. Ein Feld ist natürlich kein Zeiger, das sind zwei Paar Schuhe. Das Feld ist konkret im Speicher reserviert. Der Zugriff auf dieses Feld erfolgt mittelbar über den Zeiger, welcher ein eigenständiges Objekt ist und damit selbst an einer eigenen Stelle im Speicher gespeichert ist.</p>
<p>In der Verwendung macht es aber keinen Unterschied, ob ich nun <em>feld[0]</em> oder *<em>feld</em> verwende, da der Zugriff auf ein Feld über einen Zeiger erfolgt.</p>
<p>camper schrieb:</p>
<blockquote>
<p>bwbg schrieb:</p>
<blockquote>
<p>Anzumerken ist noch, dass der Compiler die Länge des Feldes nicht kennt.</p>
</blockquote>
<p>nein.</p>
</blockquote>
<p>Da gebe ich dir Recht. Der Compiler muss natürlich die Länge des Feldes kennen. Zur Laufzeit ist die Länge des Feldes nicht mehr bekannt. Ich werde die entsprechende Stelle im Posting ändern.</p>
<p>Sollte ich in irgendeiner Weise falsch liegen, bitte kurz anmerken. Ich will ja keinen Mist verbreiten.</p>
<p>Grüße... Heiko</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1407207</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1407207</guid><dc:creator><![CDATA[bwbg]]></dc:creator><pubDate>Wed, 21 Nov 2007 10:51:57 GMT</pubDate></item><item><title><![CDATA[Reply to Felderein-&#x2F;ausgabe on Wed, 21 Nov 2007 10:58:04 GMT]]></title><description><![CDATA[<p>bwbg schrieb:</p>
<blockquote>
<p>camper schrieb:</p>
<blockquote>
<p>bwbg schrieb:</p>
<blockquote>
<p>Anzumerken ist noch, dass der Compiler die Länge des Feldes nicht kennt.</p>
</blockquote>
<p>nein.</p>
</blockquote>
<p>Da gebe ich dir Recht. Der Compiler muss natürlich die Länge des Feldes kennen. Zur Laufzeit ist die Länge des Feldes nicht mehr bekannt. Ich werde die entsprechende Stelle im Posting ändern.</p>
<p>Sollte ich in irgendeiner Weise falsch liegen, bitte kurz anmerken. Ich will ja keinen Mist verbreiten.</p>
<p>Grüße... Heiko</p>
</blockquote>
<p>OK, langsam: Solange du das Fald direkt vor Ort hast, kannst du (über sizeof) auch zur Laufzeit an dessen Größe herankommen. Wenn du es an eine Funktion übergibst, wird in Wahrheit nur ein Zeiger auf das erste Feldelement weitergegeben - und über den hast du tatsächlich keine Möglichkeit mehr, die Feldgröße zu bestimmen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1407208</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1407208</guid><dc:creator><![CDATA[CStoll]]></dc:creator><pubDate>Wed, 21 Nov 2007 10:58:04 GMT</pubDate></item><item><title><![CDATA[Reply to Felderein-&#x2F;ausgabe on Wed, 21 Nov 2007 11:46:50 GMT]]></title><description><![CDATA[<p>Ich habe die entsprechenden Stellen im Text markiert. Die Sache mit den &quot;Feldern auf dem Stack&quot; hätte mir aber auch einfallen können, immerhin hatte ich auch mal basepointer geschubbst...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1407256</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1407256</guid><dc:creator><![CDATA[bwbg]]></dc:creator><pubDate>Wed, 21 Nov 2007 11:46:50 GMT</pubDate></item><item><title><![CDATA[Reply to Felderein-&#x2F;ausgabe on Wed, 21 Nov 2007 12:42:12 GMT]]></title><description><![CDATA[<p>CStoll schrieb:</p>
<blockquote>
<p>OK, langsam: Solange du das Fald direkt vor Ort hast, kannst du (über sizeof) auch zur Laufzeit an dessen Größe herankommen. Wenn du es an eine Funktion übergibst, wird in Wahrheit nur ein Zeiger auf das erste Feldelement weitergegeben - und über den hast du tatsächlich keine Möglichkeit mehr, die Feldgröße zu bestimmen.</p>
</blockquote>
<p>Ich finde hier steckt auch noch Potential für Missverständnisse: Ein benanntes Feld <strong>ist</strong> direkt vor Ort, denn sonst wäre es kein Feld sondern ein Zeiger. Man kann jedes Feld implizit in einen Zeiger umwandeln (man könnte auch sagen, man kann den Namen eines Feldes in vielen Fällen wie einen Zeiger auf das Feld verwenden), aber bei der Anwendung von z.B. sizeof wird schnell klar, dass das Ergebnis bei einem Feld anders ist als bei einem Zeiger auf ein Feld.</p>
<p>(Auch hier, nennt mich kleinkariert, wird die Größe nicht zur Laufzeit mit sizeof ermittelt, zur Laufzeit steht dort nur noch eine konstante Zahl im Speicher rum)</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1407287</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1407287</guid><dc:creator><![CDATA[LordJaxom]]></dc:creator><pubDate>Wed, 21 Nov 2007 12:42:12 GMT</pubDate></item><item><title><![CDATA[Reply to Felderein-&#x2F;ausgabe on Wed, 21 Nov 2007 16:28:51 GMT]]></title><description><![CDATA[<p>Also die 1.Formel war trotzdem falsch..<br />
Aber habs nun hinbekommen<br />
So sieht es im Endeffekt aus</p>
<pre><code class="language-cpp">#include &lt;iostream&gt;
#include &lt;math.h&gt;
using namespace std;

int main()
{
	int m, z, bk, c, cl;

	z=0;

	cout&lt;&lt;&quot;Wieviele Stellen hat die Dezimalzahl?&quot;&lt;&lt;endl;
	cin&gt;&gt;m;
	if(m&lt;0) cout&lt;&lt;&quot;Bitte geben Sie einen positiven Wert ein.&quot;&lt;&lt;endl;

	for(int k=0;k&lt;=(m-1);k++)
		{cout&lt;&lt;k+1&lt;&lt;&quot;.Stelle eingeben:&quot;&lt;&lt;endl;
		cin&gt;&gt;bk;

			z+= bk*pow(10.0,k);
		}

	cout&lt;&lt;&quot;Ihre Dezimalzahl lautet &quot;&lt;&lt;z&lt;&lt;endl;

	int l=0;

	while(1)
		{
			cl= z%2;
			z=(z/2);
			l++;

		cout&lt;&lt;l+1&lt;&lt;&quot;Stelle: &quot;&lt;&lt;cl&lt;&lt;endl;

		if(z==0) break;
		}
return 0;
}
</code></pre>
<p>Die Laufanweisung ist noch falsch herum. Müsste ich noch ändern.<br />
Nunja... Ich fands schwer <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f62e.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--face_with_open_mouth"
      title=":open_mouth:"
      alt="😮"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1407519</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1407519</guid><dc:creator><![CDATA[Andy_KA87]]></dc:creator><pubDate>Wed, 21 Nov 2007 16:28:51 GMT</pubDate></item></channel></rss>