<?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[doppelte for-Schleifen]]></title><description><![CDATA[<p>Hallo,</p>
<p>ich ein Anfänger und habe die hoffnung, dass mit trotzdem jemand antwortet.<br />
Ich habe ein fertiges Skript bekommen und muss ein paar Modifikationen daran vornehmen. So weit, so gut oder auch nicht.</p>
<p>In diesem Skript kommen vermehrt folgende aufeinanderfolgende For-Schleifen vor:</p>
<pre><code>if (posindex_picture==1) 
   {for(x=0;x&lt;pict_get_xsize(p)-1;x++)
    for(y=0;y&lt;pict_get_ysize(p)-1;y++) {pict_get_color(p,x,y)[RED]=lum;
                                        pict_get_color(p,x,y)[GRN]=lum;
                                        pict_get_color(p,x,y)[BLU]=lum;
                                       }
    cut_view_2(p);
    pict_write(p,file_out);
    exit(1);
   }
</code></pre>
<p>Nun weiß ich, dass &quot;;&quot; eine solche Schleife als eindeutig beenden würde, aber hier steht hinter der ersten Schleife gar nichts. Daher meine Frage: wie sind hier die Beziehungen zu einander?</p>
<p>D.h. ist</p>
<pre><code>for(x=0;x&lt;pic(p)-1;x++)
for(y=0;y&lt;pic(p)-1;y++) {pic(p,x,y)[RED]=lum;}
</code></pre>
<p>gleich dem:</p>
<pre><code>for(x=0;x&lt;pic(p)-1;x++) {for(y=0;y&lt;pic(p)-1;y++) {pic(p,x,y)[RED]=lum;}
                        }
</code></pre>
<p>oder dem:</p>
<pre><code>for(x=0;x&lt;pic(p)-1;x++) {}
for(y=0;y&lt;pic(p)-1;y++) {pic(p,x,y)[RED]=lum;}
</code></pre>
<p>Und sollte es erstere Version sein, was schließt die For-Schleife dann ein? Woran kann ich das erkennen. Gibt es da eine Regel?</p>
<p>Vielen Dank für jede Antwort.<br />
Sandra</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/259735/doppelte-for-schleifen</link><generator>RSS for Node</generator><lastBuildDate>Tue, 08 Sep 2026 18:09:58 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/259735.rss" rel="self" type="application/rss+xml"/><pubDate>Wed, 27 Jan 2010 07:17:01 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to doppelte for-Schleifen on Wed, 27 Jan 2010 07:17:01 GMT]]></title><description><![CDATA[<p>Hallo,</p>
<p>ich ein Anfänger und habe die hoffnung, dass mit trotzdem jemand antwortet.<br />
Ich habe ein fertiges Skript bekommen und muss ein paar Modifikationen daran vornehmen. So weit, so gut oder auch nicht.</p>
<p>In diesem Skript kommen vermehrt folgende aufeinanderfolgende For-Schleifen vor:</p>
<pre><code>if (posindex_picture==1) 
   {for(x=0;x&lt;pict_get_xsize(p)-1;x++)
    for(y=0;y&lt;pict_get_ysize(p)-1;y++) {pict_get_color(p,x,y)[RED]=lum;
                                        pict_get_color(p,x,y)[GRN]=lum;
                                        pict_get_color(p,x,y)[BLU]=lum;
                                       }
    cut_view_2(p);
    pict_write(p,file_out);
    exit(1);
   }
</code></pre>
<p>Nun weiß ich, dass &quot;;&quot; eine solche Schleife als eindeutig beenden würde, aber hier steht hinter der ersten Schleife gar nichts. Daher meine Frage: wie sind hier die Beziehungen zu einander?</p>
<p>D.h. ist</p>
<pre><code>for(x=0;x&lt;pic(p)-1;x++)
for(y=0;y&lt;pic(p)-1;y++) {pic(p,x,y)[RED]=lum;}
</code></pre>
<p>gleich dem:</p>
<pre><code>for(x=0;x&lt;pic(p)-1;x++) {for(y=0;y&lt;pic(p)-1;y++) {pic(p,x,y)[RED]=lum;}
                        }
</code></pre>
<p>oder dem:</p>
<pre><code>for(x=0;x&lt;pic(p)-1;x++) {}
for(y=0;y&lt;pic(p)-1;y++) {pic(p,x,y)[RED]=lum;}
</code></pre>
<p>Und sollte es erstere Version sein, was schließt die For-Schleife dann ein? Woran kann ich das erkennen. Gibt es da eine Regel?</p>
<p>Vielen Dank für jede Antwort.<br />
Sandra</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1845491</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1845491</guid><dc:creator><![CDATA[ergy1983]]></dc:creator><pubDate>Wed, 27 Jan 2010 07:17:01 GMT</pubDate></item><item><title><![CDATA[Reply to doppelte for-Schleifen on Wed, 27 Jan 2010 07:26:03 GMT]]></title><description><![CDATA[<p>enthält eine Schleife nur eine Anweisung, kann die geschweifte Klammer weggelassen werden. Eine ganze Schleife gilt als eine Anweisung.</p>
<p>also ist</p>
<pre><code class="language-cpp">for(x=0;x&lt;pic(p)-1;x++)
for(y=0;y&lt;pic(p)-1;y++) {pic(p,x,y)[RED]=lum;}
</code></pre>
<p>das gleiche wie</p>
<pre><code class="language-cpp">for(x=0;x&lt;pic(p)-1;x++) {
for(y=0;y&lt;pic(p)-1;y++) {pic(p,x,y)[RED]=lum;}
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1845496</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1845496</guid><dc:creator><![CDATA[zwutz]]></dc:creator><pubDate>Wed, 27 Jan 2010 07:26:03 GMT</pubDate></item><item><title><![CDATA[Reply to doppelte for-Schleifen on Wed, 27 Jan 2010 07:30:13 GMT]]></title><description><![CDATA[<p>ergy1983 schrieb:</p>
<blockquote>
<p>D.h. ist</p>
<pre><code>for(x=0;x&lt;pic(p)-1;x++)
for(y=0;y&lt;pic(p)-1;y++) {pic(p,x,y)[RED]=lum;}
</code></pre>
<p>gleich dem:</p>
<pre><code>for(x=0;x&lt;pic(p)-1;x++) {for(y=0;y&lt;pic(p)-1;y++) {pic(p,x,y)[RED]=lum;}
                        }
</code></pre>
<p>oder dem:</p>
<pre><code>for(x=0;x&lt;pic(p)-1;x++) {}
for(y=0;y&lt;pic(p)-1;y++) {pic(p,x,y)[RED]=lum;}
</code></pre>
<p>Und sollte es erstere Version sein, was schließt die For-Schleife dann ein? Woran kann ich das erkennen. Gibt es da eine Regel?</p>
</blockquote>
<p>Das erste ist richtig. Du musst geschweifte Klammern nicht notieren, wenn du als Schleifen- bzw. Blockrumpf nur eine Zeile notieren willst, z.B. so:</p>
<pre><code class="language-cpp">for(int i=0;i&lt;10;++i)
  cout &lt;&lt; &quot;hallo welt&quot;;
</code></pre>
<p>Wenn nun diese eine Zeile auch wieder eine for-Anweisung ist, ist diese Anweisung eben der Schleifenrumpf und wird x mal durchlaufen.</p>
<p>Aber hör mal, deine Code-Einrückung ist ja grauenhaft, sorry. <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="🙂"
    /> Liegt sicher daran, dass du hier fremden Code bearbeitest. Trotzdem solltest du dir mal ansehen, wie es besser/richtig gemacht wird (denn dein Code ist in meinen Augen kaum lesbar, und auch nicht konsistent eingerückt):</p>
<p><a href="http://de.wikipedia.org/wiki/Einr%C3%BCckungsstil" rel="nofollow">http://de.wikipedia.org/wiki/Einrückungsstil</a></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1845497</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1845497</guid><dc:creator><![CDATA[_matze]]></dc:creator><pubDate>Wed, 27 Jan 2010 07:30:13 GMT</pubDate></item><item><title><![CDATA[Reply to doppelte for-Schleifen on Wed, 27 Jan 2010 07:41:08 GMT]]></title><description><![CDATA[<p>Vielen Dank für die schnellen Antworten.</p>
<p>Und ja, ich weiß, es ist grauenhaft eingerückt. Wollte es nur nicht verändern, weil ich mir an genau der oben genannten stelle nicht sicher war.</p>
<p>Also nochmals. Vielen Dank</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1845499</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1845499</guid><dc:creator><![CDATA[ergy1983]]></dc:creator><pubDate>Wed, 27 Jan 2010 07:41:08 GMT</pubDate></item><item><title><![CDATA[Reply to doppelte for-Schleifen on Wed, 27 Jan 2010 07:54:30 GMT]]></title><description><![CDATA[<p>Ich würde übrigens empfehlen, auf solche Einzeilen-Schleifenrümpfe zu verzichten. Dann kann - gerade bei Anfängern - schnell mal sowas passieren:</p>
<pre><code class="language-cpp">for(int i=0;i&lt;10;++i)
  cout &lt;&lt; &quot;tach&quot;;  //gehört zur Schleife
  cout &lt;&lt; &quot;welt&quot;;  //gehört NICHT zur Schleife
</code></pre>
<p>Außerdem bin ich persönlich der Meinung, dass Klammern einfach besser und strukturierter aussehen. Na ja, jeder wie er will.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1845504</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1845504</guid><dc:creator><![CDATA[_matze]]></dc:creator><pubDate>Wed, 27 Jan 2010 07:54:30 GMT</pubDate></item><item><title><![CDATA[Reply to doppelte for-Schleifen on Wed, 27 Jan 2010 08:14:05 GMT]]></title><description><![CDATA[<p>Sicherlich richtig _matze,<br />
aber wenn eine for-schleife mehrere Dimensionen behandelt, wie hier mit x und y, und du erwarten kannst, dass da wirklich nie etwas dazu kommt, dann sieht es ohne Klammern und richtig eingerückt noch eine Spur sauberer aus - und weist dadurch eigentlich auch darauf hin, dass nur mehrere Dimensionen durchlaufen werden, und sonst nix Besonderes dran ist.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1845513</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1845513</guid><dc:creator><![CDATA[Bitsy]]></dc:creator><pubDate>Wed, 27 Jan 2010 08:14:05 GMT</pubDate></item><item><title><![CDATA[Reply to doppelte for-Schleifen on Wed, 27 Jan 2010 08:20:01 GMT]]></title><description><![CDATA[<p>Wobei es der Performanz meist zuträglich ist in der äußeren Schleife y zu durchlaufen und in der inneren x. So als Bonusantwort um den Dozenten zu nerven. <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>
]]></description><link>https://www.c-plusplus.net/forum/post/1845515</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1845515</guid><dc:creator><![CDATA[Fellhuhn]]></dc:creator><pubDate>Wed, 27 Jan 2010 08:20:01 GMT</pubDate></item><item><title><![CDATA[Reply to doppelte for-Schleifen on Wed, 27 Jan 2010 08:26:47 GMT]]></title><description><![CDATA[<p>Bitsy schrieb:</p>
<blockquote>
<p>Sicherlich richtig _matze,<br />
aber wenn eine for-schleife mehrere Dimensionen behandelt, wie hier mit x und y, und du erwarten kannst, dass da wirklich nie etwas dazu kommt, dann sieht es ohne Klammern und richtig eingerückt noch eine Spur sauberer aus - und weist dadurch eigentlich auch darauf hin, dass nur mehrere Dimensionen durchlaufen werden, und sonst nix Besonderes dran ist.</p>
</blockquote>
<p>Ich sehe es halt so, dass es mit Klammern sauberer aussieht. Aber wie gesagt, jeder wie er will. Ist letztlich Geschmacksache, solange man konsistent einrückt (und andere das auch noch halbwegs lesen können <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>
]]></description><link>https://www.c-plusplus.net/forum/post/1845520</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1845520</guid><dc:creator><![CDATA[_matze]]></dc:creator><pubDate>Wed, 27 Jan 2010 08:26:47 GMT</pubDate></item></channel></rss>