<?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[Array]]></title><description><![CDATA[<p>Hallo an alle!</p>
<p>Ich habe gerade mit C++ angefangen und bin bei den Arrays. Es funktioniert alles tadellos, nur er gibt mir die Zahlen die in den Array geschrieben werden nicht aus.</p>
<p>Hier mal der Quelltext:</p>
<pre><code class="language-cpp">#include &lt;iostream.h&gt;
#include &lt;conio.h&gt;

const long ANZELEM=8;
class CArray{
             private:
                     int Zahlenfeld[ANZELEM];
                     void initialisieren();
             public:
                     CArray();
                     void eingeben();
                     void ausgeben();
};

CArray::CArray()
{
             initialisieren();
}

void CArray::initialisieren()
{
     for (long i=0;i&lt;ANZELEM;i++)
     {
         Zahlenfeld[i]=0;
     }
}
void CArray::eingeben()
{
     int Eingabe=0;
     cout &lt;&lt; &quot;Bitte geben Sie Ganzzahlen ein, sonst erfolgt Abbruch!&quot; &lt;&lt; endl;
     for (long i=0;i&lt;ANZELEM;i++)
     {
         cout &lt;&lt;i&lt;&lt;&quot;. Element: &quot;;cin&gt;&gt;Eingabe;
         if(Eingabe=0){break;}
         else{Zahlenfeld[i]=Eingabe;}
     }
}
void CArray::ausgeben()
{
     cout &lt;&lt; &quot;Ausgabe der Elemente!&quot; &lt;&lt; endl;
     for (long i=0;i&lt;ANZELEM;i++)
     {
         cout &lt;&lt;i&lt;&lt;&quot;. Element: &quot;&lt;&lt;Zahlenfeld[i]&lt;&lt; endl;
     }
}
int main()
{
    char wiederholen;
    do
    {
    system(&quot;CLS&quot;);
    CArray Objekt;
    Objekt.eingeben();
    Objekt.ausgeben();
    cout &lt;&lt; &quot;\nWiederholen? J/N&quot;;cin&gt;&gt;wiederholen;
    }
    while (wiederholen='n');
    return 0;
}
</code></pre>
<p>Kann mir jemand weiterhelfen?!</p>
<p>Mfg -- fuwangschu</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/209825/array</link><generator>RSS for Node</generator><lastBuildDate>Tue, 13 Oct 2026 02:22:07 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/209825.rss" rel="self" type="application/rss+xml"/><pubDate>Thu, 03 Apr 2008 18:20:33 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Array on Thu, 03 Apr 2008 18:20:33 GMT]]></title><description><![CDATA[<p>Hallo an alle!</p>
<p>Ich habe gerade mit C++ angefangen und bin bei den Arrays. Es funktioniert alles tadellos, nur er gibt mir die Zahlen die in den Array geschrieben werden nicht aus.</p>
<p>Hier mal der Quelltext:</p>
<pre><code class="language-cpp">#include &lt;iostream.h&gt;
#include &lt;conio.h&gt;

const long ANZELEM=8;
class CArray{
             private:
                     int Zahlenfeld[ANZELEM];
                     void initialisieren();
             public:
                     CArray();
                     void eingeben();
                     void ausgeben();
};

CArray::CArray()
{
             initialisieren();
}

void CArray::initialisieren()
{
     for (long i=0;i&lt;ANZELEM;i++)
     {
         Zahlenfeld[i]=0;
     }
}
void CArray::eingeben()
{
     int Eingabe=0;
     cout &lt;&lt; &quot;Bitte geben Sie Ganzzahlen ein, sonst erfolgt Abbruch!&quot; &lt;&lt; endl;
     for (long i=0;i&lt;ANZELEM;i++)
     {
         cout &lt;&lt;i&lt;&lt;&quot;. Element: &quot;;cin&gt;&gt;Eingabe;
         if(Eingabe=0){break;}
         else{Zahlenfeld[i]=Eingabe;}
     }
}
void CArray::ausgeben()
{
     cout &lt;&lt; &quot;Ausgabe der Elemente!&quot; &lt;&lt; endl;
     for (long i=0;i&lt;ANZELEM;i++)
     {
         cout &lt;&lt;i&lt;&lt;&quot;. Element: &quot;&lt;&lt;Zahlenfeld[i]&lt;&lt; endl;
     }
}
int main()
{
    char wiederholen;
    do
    {
    system(&quot;CLS&quot;);
    CArray Objekt;
    Objekt.eingeben();
    Objekt.ausgeben();
    cout &lt;&lt; &quot;\nWiederholen? J/N&quot;;cin&gt;&gt;wiederholen;
    }
    while (wiederholen='n');
    return 0;
}
</code></pre>
<p>Kann mir jemand weiterhelfen?!</p>
<p>Mfg -- fuwangschu</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1486001</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1486001</guid><dc:creator><![CDATA[Fuwangschu2]]></dc:creator><pubDate>Thu, 03 Apr 2008 18:20:33 GMT</pubDate></item><item><title><![CDATA[Reply to Array on Thu, 03 Apr 2008 18:28:21 GMT]]></title><description><![CDATA[<p>Ich denke der Fehler liegt in der Einlese-Routine.<br />
Du glaubst, daß er bei Eingabe von &quot;0&quot; das Einlesen abbrechen sollte und dann die Werte ausgeben soll ... tut er aber nicht.</p>
<p>So wäre es richtig:</p>
<pre><code class="language-cpp">if(Eingabe==0){break;} // Abfrage auf Gleichheit mit == !!!
</code></pre>
<p>Dies ist ein berühmter Anfängerfehler in C bzw. C++.</p>
<p>P.S. Denselben Fehler hast du noch an anderer Stelle...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1486005</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1486005</guid><dc:creator><![CDATA[Th69]]></dc:creator><pubDate>Thu, 03 Apr 2008 18:28:21 GMT</pubDate></item><item><title><![CDATA[Reply to Array on Thu, 03 Apr 2008 20:09:09 GMT]]></title><description><![CDATA[<p>jop stimmt ahst du</p>
<p>und zwar in der while bedingung</p>
<pre><code class="language-cpp">if ( Eingabe = 0 )
</code></pre>
<p>heisst auf gut deutsch:</p>
<p>der setzt eingabe auf 0<br />
und weil das nicht schief gehen kann ist das wahr</p>
<p>dadurch kommen entlosschleifen zsutande und falsche eingaben (wie bei dir)</p>
<p>naja und wenn ich das richtig verstehe soll der die haupt while schleife immer wiederholen wenn man auf die frage &quot;wiederholen?&quot; mit j antwortet<br />
aber deine bedingung steht fürs gegenteil</p>
<p>ausserdem:</p>
<pre><code class="language-cpp">do
    {
    //system(&quot;CLS&quot;);
    CArray Objekt;  // &lt;--- nie eine variable in einer schleife deklarieren
    //Objekt.eingeben();
    //Objekt.ausgeben();
    //cout &lt;&lt; &quot;\nWiederholen? J/N&quot;;cin&gt;&gt;wiederholen;
    }
    while (wiederholen='n');
</code></pre>
<p>nicht machen weil es ziemlich auf die geschwindigkeit drückt<br />
machd as ganze lieber mit zeigern...</p>
<pre><code class="language-cpp">CArray *Objekt;

do {
    Objekt = new Objekt;
    Objekt-&gt;eingeben();
    Objekt-&gt;ausgeben();
    cout&lt;&lt;&quot;dingenskirchen;
    cin &gt;&gt; wiederholen;
    delete Objekt;
    Objekt = NULL;
} while ( wiederholen == 'j' )
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1486061</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1486061</guid><dc:creator><![CDATA[Skym0sh0]]></dc:creator><pubDate>Thu, 03 Apr 2008 20:09:09 GMT</pubDate></item><item><title><![CDATA[Reply to Array on Thu, 03 Apr 2008 20:25:55 GMT]]></title><description><![CDATA[<pre><code class="language-cpp">do
{
    CArray Objekt;
    ...
}
while (...);

CArray *Objekt = 0;
do 
{
    Objekt = new CArray;
    ...
    delete Objekt;
    Objekt = 0;
} while (...);
</code></pre>
<p>Diese beiden Varianten machen geschwindigkeitsmäßig gar keinen Unterschied, weil bei beiden in jedem Schleifendurchlauf ein neues Objekt erzeugt wird. Die erste Variante ist in C++ immer zu bevorzugen, weil man bei dynamischer Speicherverwaltung gerne mal ein delete vergisst.<br />
Merke: Wo möglich immer die Objekte auf dem Stack anlegen und wenn man unbedingt mal einen Zeiger braucht, dann verwendet man Smartpointer, die nehmen einem das delete ab.<br />
Wenn man hier irgendwas &quot;optimieren&quot; will, dann muss man das Objekt außerhalb der Schleife anlegen und wenn nötig in jedem Schleifendurchlauf einige Werte des Objekts auf den Grundzustand zurücksetzen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1486068</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1486068</guid><dc:creator><![CDATA[OhneName]]></dc:creator><pubDate>Thu, 03 Apr 2008 20:25:55 GMT</pubDate></item><item><title><![CDATA[Reply to Array on Fri, 04 Apr 2008 12:18:11 GMT]]></title><description><![CDATA[<p>wobei eigendlich ist das hier ja auch egal</p>
<p>weil der flaschenhals in jedem fall der user mit seiner eingabe sein wird...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1486413</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1486413</guid><dc:creator><![CDATA[Skym0sh0]]></dc:creator><pubDate>Fri, 04 Apr 2008 12:18:11 GMT</pubDate></item><item><title><![CDATA[Reply to Array on Fri, 04 Apr 2008 12:32:05 GMT]]></title><description><![CDATA[<p>Skym0sh0 schrieb:</p>
<blockquote>
<pre><code class="language-cpp">if ( Eingabe = 0 )
</code></pre>
<p>[...]<br />
und weil das nicht schief gehen kann ist das wahr</p>
</blockquote>
<p>Falsch.</p>
<p>(Eingabe = 0) hat den Wert 0. Und bei if (0) wird der Body nun einmal nicht ausgeführt. Eine Zuweisung liefert eine Referenz des LValues.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1486425</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1486425</guid><dc:creator><![CDATA[Fellhuhn]]></dc:creator><pubDate>Fri, 04 Apr 2008 12:32:05 GMT</pubDate></item></channel></rss>