<?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[Typischer Effekt bei ungeschickter Programmierung]]></title><description><![CDATA[<p>Hallo,</p>
<p>kann jemand bitte folgendes Programm für mich analysieren und seine Besonderheiten rausschreiben. Die Realisierung der Abfrage ob es weitergeht mit int zahl ist jedoch nicht von Bedeutung. Welcher typischer Fehler tritt bei dieser ungeschickten Programmierung auf und wie kann man ihn sicher verhindern?</p>
<p>Vielen Dank!!</p>
<p>#include &lt;iostream&gt;<br />
#include &lt;iomanip&gt;<br />
using namespace std;</p>
<p>int zahl;</p>
<p>int anzahl;<br />
const int max1 = 10;<br />
int b[max1];</p>
<p>void anzeigen( const int b[]);<br />
void summieren (long int &amp; sum );</p>
<p>int main()<br />
{<br />
int temp;<br />
long int sum;</p>
<p>do<br />
{ for (anzahl = 0; anzahl &lt; max1; ++anzahl) b[anzahl]=0;<br />
sum=0;<br />
anzahl=0;<br />
cout &lt;&lt; &quot;\n\n\n\nMax. 10 int-Zahlen, 0 fuer Abbruch : \n&quot;;<br />
do{<br />
cin &gt;&gt; temp;<br />
b[anzahl]=temp;<br />
++anzahl;<br />
}<br />
while (b[anzahl-1] &amp;&amp; anzahl&lt;max1);<br />
--anzahl;<br />
if (temp != 0) ++anzahl;<br />
cout &lt;&lt; endl;</p>
<p>anzeigen (b);<br />
summieren (sum);<br />
cout &lt;&lt; &quot;\nSumme der eingegeben &quot; &lt;&lt; anzahl &lt;&lt; &quot; Zahlen: &quot;<br />
&lt;&lt; sum &lt;&lt; endl;</p>
<p>cin &gt;&gt; zahl;</p>
<p>}while( zahl != 0);</p>
<p>return 0;<br />
} // end of main</p>
<p>// Summe</p>
<p>void summieren (long int &amp; sum)<br />
{<br />
for (anzahl=0;anzahl&lt;max1;++anzahl)<br />
sum+=b[anzahl];<br />
}</p>
<p>// Anzeige</p>
<p>void anzeigen (const int b[])<br />
{ cout &lt;&lt; endl &lt;&lt; endl;<br />
for (anzahl=0; anzahl&lt; max1; ++anzahl)<br />
{if (b[anzahl] != 0) cout &lt;&lt; setw(6) &lt;&lt; b[anzahl];<br />
if ((anzahl+1)%3==0) cout &lt;&lt; endl;<br />
}<br />
}</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/178580/typischer-effekt-bei-ungeschickter-programmierung</link><generator>RSS for Node</generator><lastBuildDate>Mon, 21 Sep 2026 01:58:28 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/178580.rss" rel="self" type="application/rss+xml"/><pubDate>Thu, 12 Apr 2007 12:26:04 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Typischer Effekt bei ungeschickter Programmierung on Thu, 12 Apr 2007 12:26:04 GMT]]></title><description><![CDATA[<p>Hallo,</p>
<p>kann jemand bitte folgendes Programm für mich analysieren und seine Besonderheiten rausschreiben. Die Realisierung der Abfrage ob es weitergeht mit int zahl ist jedoch nicht von Bedeutung. Welcher typischer Fehler tritt bei dieser ungeschickten Programmierung auf und wie kann man ihn sicher verhindern?</p>
<p>Vielen Dank!!</p>
<p>#include &lt;iostream&gt;<br />
#include &lt;iomanip&gt;<br />
using namespace std;</p>
<p>int zahl;</p>
<p>int anzahl;<br />
const int max1 = 10;<br />
int b[max1];</p>
<p>void anzeigen( const int b[]);<br />
void summieren (long int &amp; sum );</p>
<p>int main()<br />
{<br />
int temp;<br />
long int sum;</p>
<p>do<br />
{ for (anzahl = 0; anzahl &lt; max1; ++anzahl) b[anzahl]=0;<br />
sum=0;<br />
anzahl=0;<br />
cout &lt;&lt; &quot;\n\n\n\nMax. 10 int-Zahlen, 0 fuer Abbruch : \n&quot;;<br />
do{<br />
cin &gt;&gt; temp;<br />
b[anzahl]=temp;<br />
++anzahl;<br />
}<br />
while (b[anzahl-1] &amp;&amp; anzahl&lt;max1);<br />
--anzahl;<br />
if (temp != 0) ++anzahl;<br />
cout &lt;&lt; endl;</p>
<p>anzeigen (b);<br />
summieren (sum);<br />
cout &lt;&lt; &quot;\nSumme der eingegeben &quot; &lt;&lt; anzahl &lt;&lt; &quot; Zahlen: &quot;<br />
&lt;&lt; sum &lt;&lt; endl;</p>
<p>cin &gt;&gt; zahl;</p>
<p>}while( zahl != 0);</p>
<p>return 0;<br />
} // end of main</p>
<p>// Summe</p>
<p>void summieren (long int &amp; sum)<br />
{<br />
for (anzahl=0;anzahl&lt;max1;++anzahl)<br />
sum+=b[anzahl];<br />
}</p>
<p>// Anzeige</p>
<p>void anzeigen (const int b[])<br />
{ cout &lt;&lt; endl &lt;&lt; endl;<br />
for (anzahl=0; anzahl&lt; max1; ++anzahl)<br />
{if (b[anzahl] != 0) cout &lt;&lt; setw(6) &lt;&lt; b[anzahl];<br />
if ((anzahl+1)%3==0) cout &lt;&lt; endl;<br />
}<br />
}</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1264612</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1264612</guid><dc:creator><![CDATA[Anfänger2007]]></dc:creator><pubDate>Thu, 12 Apr 2007 12:26:04 GMT</pubDate></item><item><title><![CDATA[Reply to Typischer Effekt bei ungeschickter Programmierung on Thu, 12 Apr 2007 12:27:40 GMT]]></title><description><![CDATA[<p>ähm, sitzt du grad bei einer Prüfung udn ist das eine Aufgabe jenerwelcher? <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f603.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--grinning_face_with_big_eyes"
      title=":D"
      alt="😃"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1264615</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1264615</guid><dc:creator><![CDATA[Joe80]]></dc:creator><pubDate>Thu, 12 Apr 2007 12:27:40 GMT</pubDate></item><item><title><![CDATA[Reply to Typischer Effekt bei ungeschickter Programmierung on Thu, 12 Apr 2007 12:36:08 GMT]]></title><description><![CDATA[<p>Sitze grad nicht bei einer Prüfung abba muss die Aufgabe für einen Kurs lösen <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f61e.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--disappointed_face"
      title=":("
      alt="😞"
    /><br />
Und komme leider einfach nicht weiter....</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1264620</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1264620</guid><dc:creator><![CDATA[Anfänger2007]]></dc:creator><pubDate>Thu, 12 Apr 2007 12:36:08 GMT</pubDate></item><item><title><![CDATA[Reply to Typischer Effekt bei ungeschickter Programmierung on Thu, 12 Apr 2007 12:42:35 GMT]]></title><description><![CDATA[<p>Nicht weiter als was...?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1264627</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1264627</guid><dc:creator><![CDATA[Frager-Mensch]]></dc:creator><pubDate>Thu, 12 Apr 2007 12:42:35 GMT</pubDate></item><item><title><![CDATA[Reply to Typischer Effekt bei ungeschickter Programmierung on Thu, 12 Apr 2007 12:56:09 GMT]]></title><description><![CDATA[<p>Anfänger2007 schrieb:</p>
<blockquote>
<p>typischer Fehler</p>
</blockquote>
<p>1. Du motivierst den Leser durch fehlendes Syntaxcoloring, den Beitrag direkt wieder zu schließen.</p>
<blockquote>
<p>wie kann man ihn sicher verhindern?</p>
</blockquote>
<p>1. Vor dem Posten mal die vielen auffälligen Links im oberen Forenbereich sowie beispielhaft die Beiträge anderer anklicken oder beim Verfassen einer Nachricht die Buttons unten bewundern.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1264642</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1264642</guid><dc:creator><![CDATA[LordJaxom]]></dc:creator><pubDate>Thu, 12 Apr 2007 12:56:09 GMT</pubDate></item><item><title><![CDATA[Reply to Typischer Effekt bei ungeschickter Programmierung on Thu, 12 Apr 2007 12:57:36 GMT]]></title><description><![CDATA[<p>Nunja...mir fehlt schon mal der angesprochene Effekt..bei der zweiten do-Schleife kann ich dem Programm nicht mehr richtig folgen und die Funktion anzeigen verstehe ich auch nicht wirklich</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1264644</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1264644</guid><dc:creator><![CDATA[Anfänger2007]]></dc:creator><pubDate>Thu, 12 Apr 2007 12:57:36 GMT</pubDate></item><item><title><![CDATA[Reply to Typischer Effekt bei ungeschickter Programmierung on Thu, 12 Apr 2007 13:11:10 GMT]]></title><description><![CDATA[<p>ja ist auch ein krankes Stück Code *brr*<br />
es hilft ungemein, wenn man einen Code so schreibt das er strukturiert ist, das heißt das man Anfang und Ende eine Schleife,... einfach erkennt. Wenn du ein absoluter Crack bist, kannst du auch alles in eine Zeiel schreiben, Überblick wirst halt keinen mehr haben.</p>
<pre><code class="language-cpp">#include &lt;iostream&gt; //Includedatei für die ganzen Programm Ein- und Ausgaben
#include &lt;iomanip&gt;  //ähm, kenn ich nicht, hab in der MSDN nachgesehn und keine Funktion in diesem Programm gefunden die dieses Include benötigt.
using namespace std; 

int zahl; 

int anzahl; 
const int max1 = 10; 
int b[max1]; //ok, aber b[10] ginge genauso.

void anzeigen( const int b[]); //also das const hat hier nix verloren!
void summieren (long int &amp; sum ); //ähm, Adressoperatoren in einer Parameterliste? Sollte eher (long int *sum) heißen.

int main() 
{ 
   int temp; 
   long int sum; 

   do 
   { 
       for (anzahl = 0; anzahl &lt; max1; ++anzahl) b[anzahl]=0; // Initialisiert mal das ganze b-Array
       sum=0; //Initialisiert sum
       anzahl=0;  //Initialisiert anzahl, das nach der for(;;) Schleife ja den Wert 9 hat.
       cout &lt;&lt; &quot;\n\n\n\nMax. 10 int-Zahlen, 0 fuer Abbruch : \n&quot;; //gibt einen lustigen Text in der Konsole aus. 
       do
       { 
          cin &gt;&gt; temp; // bin mir nicht sicher, aber ich glaub vorher sollt ma den Tastatupuffer leeren.
          b[anzahl]=temp; //eingelesene Zahl ins Array schreiben.
          ++anzahl; 
       } 
       while (b[anzahl-1] &amp;&amp; anzahl&lt;max1); //großer Schwachsinn! Das ganze sollte eigentlich so aussehen: (b[anzahl-1] != 0 &amp;&amp; anzahl &lt; max1) 
       --anzahl; //was das hier soll versteh ich nicht ganz
       if(temp != 0) ++anzahl; //was diese Abfrage bringt weiß auch keiner.
       cout &lt;&lt; endl; 
       anzeigen (b); //Funktionsaufruf
       summieren (sum); //Funktionsaufruf sollte aber: summieren(&amp;sum) lauten!
       cout &lt;&lt; &quot;\nSumme der eingegeben &quot; &lt;&lt; anzahl &lt;&lt; &quot; Zahlen: &quot; &lt;&lt; sum &lt;&lt; endl; //wieder eine lustige Ausgabe
       cin &gt;&gt; zahl; //wieder eine zahl einlesen
   }
   while( zahl != 0); //Schleife rennt solang bis der Benutzer das richtige eingibt.
   return 0; 
} // end of main 

// Summe 

void summieren (long int &amp; sum) //das selbe wie oben (long int *sum)
{ 
  for (anzahl=0;anzahl&lt;max1;++anzahl) 
  sum+=b[anzahl]; //man könnte auch sum = sum + b[anzahl] schreiben, aber so ist es eh schöner.
} 

// Anzeige 

void anzeigen (const int b[]) //const hat auch hier nix verloren
{ 
   cout &lt;&lt; endl &lt;&lt; endl; 
   for (anzahl=0; anzahl&lt; max1; ++anzahl) 
   {
      if (b[anzahl] != 0) cout &lt;&lt; setw(6) &lt;&lt; b[anzahl]; //setzt die Anzeigebreite auf 6 und gibt alle Werte außer 0 aus.
      if ((anzahl+1)%3==0) cout &lt;&lt; endl; //Addiert anzahl mit 1, Dividiert es dann durch 3 und vergleicht ob der Rest 0 ist, was auch immer das soll.
   } 
}

//puh endlich fertig mit dem kranken Teil
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1264660</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1264660</guid><dc:creator><![CDATA[Joe80]]></dc:creator><pubDate>Thu, 12 Apr 2007 13:11:10 GMT</pubDate></item><item><title><![CDATA[Reply to Typischer Effekt bei ungeschickter Programmierung on Thu, 12 Apr 2007 13:24:08 GMT]]></title><description><![CDATA[<p>Vielen Dank erstmal...eben zeile 32 und zeile 33 sowie Zeile 64 versteh ich auch nicht...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1264674</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1264674</guid><dc:creator><![CDATA[Anfänger2007]]></dc:creator><pubDate>Thu, 12 Apr 2007 13:24:08 GMT</pubDate></item><item><title><![CDATA[Reply to Typischer Effekt bei ungeschickter Programmierung on Thu, 12 Apr 2007 13:28:59 GMT]]></title><description><![CDATA[<p>Joe80 schrieb:</p>
<blockquote>
<pre><code class="language-cpp">void summieren (long int &amp; sum ); //ähm, Adressoperatoren in einer Parameterliste? Sollte eher (long int *sum) heißen.

if ((anzahl+1)%3==0) cout &lt;&lt; endl; //Addiert anzahl mit 1, Dividiert es dann durch 3 und vergleicht ob der Rest 0 ist, was auch immer das soll.
</code></pre>
</blockquote>
<p>Ich hab mir nicht den ganzen Quellcode durchgeschaut, aber zwei Sachen sind mir beim &quot;überfliegen&quot; aufgefallen.<br />
1. int &amp; sum ist eine Referenz, also muss es nicht int *sum heißen.<br />
2. (anzahl+1)%3==0 bedeutet das nach jeder dritten Zahl ein Zeilenumbruch gemacht wird.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1264678</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1264678</guid><dc:creator><![CDATA[EEK]]></dc:creator><pubDate>Thu, 12 Apr 2007 13:28:59 GMT</pubDate></item><item><title><![CDATA[Reply to Typischer Effekt bei ungeschickter Programmierung on Thu, 12 Apr 2007 14:09:05 GMT]]></title><description><![CDATA[<pre><code class="language-cpp">[code]while (b[anzahl-1] &amp;&amp; anzahl&lt;max1); //großer Schwachsinn! Das ganze sollte eigentlich so aussehen: (b[anzahl-1] != 0 &amp;&amp; anzahl &lt; max1)
</code></pre>
<p>[/code]</p>
<p>Wieso sollte das so aussehen? und kann mir einer erklären wozu zeile 32 und 33 dienen?</p>
<p>Vielen Dank!!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1264716</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1264716</guid><dc:creator><![CDATA[Anfänger2007]]></dc:creator><pubDate>Thu, 12 Apr 2007 14:09:05 GMT</pubDate></item><item><title><![CDATA[Reply to Typischer Effekt bei ungeschickter Programmierung on Thu, 12 Apr 2007 14:29:04 GMT]]></title><description><![CDATA[<pre><code class="language-cpp">while (b[anzahl-1] &amp;&amp; anzahl&lt;max1); //großer Schwachsinn! Das ganze sollte eigentlich so aussehen: (b[anzahl-1] != 0 &amp;&amp; anzahl &lt; max1)
</code></pre>
<p>Quatsch, man muss nicht auf ungleich 0 prüfen. Du musst in C++ nicht gegen einen Wert prüfen (zumindest wenn der Typ eine Zahl ist). Die Prüfung von b[anzahl-1] ist das gleiche wie b[anzahl-1]!=0. Wenn nämlich eine Zahl 0 ist wird sie zu false ausgewertet und wenn sie ungleich 0 ist zu true.</p>
<p>Zeile 33 ist zwar überflüssig, aber nachvollziehbar. Dadurch das anzahl einen runterzählt wird, muss bei einem indizierten Zugriff nicht mehr -1 geschrieben werden. Obwohl statt in Zeile 34 dann temp auf ungleich 0 zu prüfen würde ich die beiden Zeilen zu</p>
<pre><code class="language-cpp">if(temp) --anzahl; // oder temp!=0 in der Bedingung
</code></pre>
<p>zusammenfassen. So spart man es sich einmal runter und dann evtl. wieder hochzuzählen, sondern zählt nur runter, wenn es nötig ist.</p>
<p>Aber allein wegen der ganzen globalen Variablen ist der Code ein Fall für die Mülltonne...</p>
<p>Greetz</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1264730</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1264730</guid><dc:creator><![CDATA[Vellas]]></dc:creator><pubDate>Thu, 12 Apr 2007 14:29:04 GMT</pubDate></item><item><title><![CDATA[Reply to Typischer Effekt bei ungeschickter Programmierung on Thu, 12 Apr 2007 15:00:15 GMT]]></title><description><![CDATA[<p>Danke...Ich soll im Teil b die Funktion anzeige über eine geschachtelte Schleife realisieren ohne dass sich deren Aussehe ändert..ich habe eine Lösung mit Schleifen, jedoch habe ich sie nicht geschachtelt...Kann mir da einer weiterhelfen?</p>
<p>Meine Lösung:</p>
<pre><code class="language-cpp">void anzeigen (const int b[]) 
{   cout &lt;&lt; endl &lt;&lt; endl;
    int k;
for (k=0; k&lt; 3; ++k)
    {if (b[k] != 0) cout &lt;&lt; setw(6) &lt;&lt; b[k];          
}
cout &lt;&lt; endl;
for (k=3;k&lt;6;++k)
{
    if (b[k] != 0) cout &lt;&lt; setw(6) &lt;&lt; b[k];          
}
cout &lt;&lt; endl;
for (k=6;k&lt;9;++k)
{
    if (b[k] != 0) cout &lt;&lt; setw(6) &lt;&lt; b[k];          
}
cout &lt;&lt; endl;
for (k=9;k&lt;10;++k)
{
    if (b[k] != 0) cout &lt;&lt; setw(6) &lt;&lt; b[k];          
}
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1264754</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1264754</guid><dc:creator><![CDATA[Anfänger2007]]></dc:creator><pubDate>Thu, 12 Apr 2007 15:00:15 GMT</pubDate></item><item><title><![CDATA[Reply to Typischer Effekt bei ungeschickter Programmierung on Thu, 12 Apr 2007 22:25:05 GMT]]></title><description><![CDATA[<p>Hier ist ne verschachtelte Schleife.<br />
Ist aber ziemlich hässlich.<br />
Wahrscheinlich zu kompliziert gedacht.</p>
<pre><code class="language-cpp">void anzeigen (const int b[])
{ 
    const int spalten =  3;
    int i;
    for (int k = 0;;) // hallo, Endlosschleife --&gt; unschön
    {
    	for (i = 0; i != spalten; ++i, ++k) // 2 vars laufen gleichzeitig --&gt; unschön
    	{
            if(k == max1) return; // Arrayende --&gt; fertig
            if(b[k] == 0) return; // &quot;0 fuer Abbruch&quot; --&gt; fertig
            cout &lt;&lt; setw(6) &lt;&lt; b[k];           
        }
        cout &lt;&lt; endl;
     }	
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1264999</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1264999</guid><dc:creator><![CDATA[wandrer]]></dc:creator><pubDate>Thu, 12 Apr 2007 22:25:05 GMT</pubDate></item><item><title><![CDATA[Reply to Typischer Effekt bei ungeschickter Programmierung on Fri, 13 Apr 2007 10:29:30 GMT]]></title><description><![CDATA[<p>Oder einfach eine Schleife:</p>
<pre><code class="language-cpp">void anzeigen(int const *b, int anz)  {
  for(int i=0; i&lt;anz; ++i) {
    if(i%3==0) cout &lt;&lt; endl;
    if(b[i]) cout &lt;&lt; setw(6) &lt;&lt; b[i];
  }
}
</code></pre>
<p>So gebe ich noch die Anzahl der Elemente mit und kann die Ausgabe auch variieren. Aufrufbeispiel:</p>
<pre><code class="language-cpp">int b[10] = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9};
anzeigen(b, 10);
</code></pre>
<p>Greetz</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1265192</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1265192</guid><dc:creator><![CDATA[Vellas]]></dc:creator><pubDate>Fri, 13 Apr 2007 10:29:30 GMT</pubDate></item><item><title><![CDATA[Reply to Typischer Effekt bei ungeschickter Programmierung on Fri, 13 Apr 2007 11:13:58 GMT]]></title><description><![CDATA[<blockquote>
<p>void anzeigen( const int b[]); //also das const hat hier nix verloren!</p>
</blockquote>
<p>Also, das musst du mir jetzt mal erklären. Ob das const da steht oder nicht ist für die Übergabe in diesem Fall unwichtig, aber da der Schreiber dieses Codes b[] in der Funktion nicht verändern will kann er es doch ruhig const machen. Macht es leichter Schreibfehler und so zu finden, wenn alles, was nicht geändert werden soll const ist.</p>
<blockquote>
<p>void summieren (long int &amp; sum ); //ähm, Adressoperatoren in einer Parameterliste? Sollte eher (long int *sum) heißen.</p>
</blockquote>
<p>Wurde bereits gesagt, das ist vollkommen in Ordnung und imho besser als wenn du jetzt anfängst mit Zeigern zu hantieren (Nachteil: es ist etwas versteckter)</p>
<pre><code class="language-cpp">void anzeigen(const int b){
   cout &lt;&lt; endl &lt;&lt; endl;
   for (anzahl=0; anzahl+3&lt; max1; anzahl+=3)
   {
      for(int i=0;i&lt;3;++i)
        if (b[anzahl+i] != 0) cout &lt;&lt; setw(6) &lt;&lt; b[anzahl+i]; 
      cout &lt;&lt; endl; 
   }
   for(int i=0;i&lt;max1-anzahl;++i) cout&lt;&lt;setw(6)&lt;&lt;b[anzahl+i];
}
</code></pre>
<p>ICh bin mir jetzt nicht ganz sicher, weil ungetestet (falls was falsch ist bitte einfach sagen) Sollte aber denke ih so gehen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1265231</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1265231</guid><dc:creator><![CDATA[Shinja]]></dc:creator><pubDate>Fri, 13 Apr 2007 11:13:58 GMT</pubDate></item><item><title><![CDATA[Reply to Typischer Effekt bei ungeschickter Programmierung on Fri, 13 Apr 2007 14:08:00 GMT]]></title><description><![CDATA[<p>Ah, vorhin nicht gesehen das es verschachtelt sein soll. ^^<br />
<a class="plugin-mentions-user plugin-mentions-a" href="https://www.c-plusplus.net/forum/uid/13317">@Shinja</a>:<br />
Bei deiner Parameterliste fehlt * bzw. [], sicher nur ein Flüchtigkeitsfehler. Ein &quot;cout &lt;&lt; endl;&quot; kann man sich sparen, packt man einfach das &quot;cout &lt;&lt; endl;&quot; in der Schleife vor die innere Schleife. Die letzte Schleife kann man mit in die innere Schleife aufnehmen, wenn man beim Vergleich der äußeren Schleife das &quot;+3&quot; weglässt:</p>
<pre><code class="language-cpp">void anzeigen(const int *b) {
  for (anzahl=0; anzahl&lt; max1; anzahl+=3) {
    cout &lt;&lt; endl;
    for(int i=0;i&lt;3 &amp;&amp; i&lt;max1-anzahl;++i)
      if (b[anzahl+i]) cout &lt;&lt; setw(6) &lt;&lt; b[anzahl+i];
  }
}
</code></pre>
<p>Greetz</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1265368</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1265368</guid><dc:creator><![CDATA[Vellas]]></dc:creator><pubDate>Fri, 13 Apr 2007 14:08:00 GMT</pubDate></item><item><title><![CDATA[Reply to Typischer Effekt bei ungeschickter Programmierung on Fri, 13 Apr 2007 15:48:46 GMT]]></title><description><![CDATA[<p>Jo, die [] waren ein Flüchtigkeitsfehler, der recht einfach schlecht überlegt. Danke für die Korrekturen.</p>
<p>@TE: war es das was gemeint war?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1265441</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1265441</guid><dc:creator><![CDATA[Shinja]]></dc:creator><pubDate>Fri, 13 Apr 2007 15:48:46 GMT</pubDate></item><item><title><![CDATA[Reply to Typischer Effekt bei ungeschickter Programmierung on Fri, 13 Apr 2007 17:41:43 GMT]]></title><description><![CDATA[<p>Ja vielen, vielen Dank!!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1265535</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1265535</guid><dc:creator><![CDATA[Anfänger2007]]></dc:creator><pubDate>Fri, 13 Apr 2007 17:41:43 GMT</pubDate></item></channel></rss>