<?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[Altklausur]]></title><description><![CDATA[<p>Hallo leute,</p>
<p>neue Aufgabe neues Problem :). Bei diesem guten Stück hier bin ich an einer Stelle ganz durcheinander gekommen.</p>
<pre><code># include&lt;iostream&gt;
using namespace std;

class myClass		

{ private:		

int ii;		

public:		

myClass (int y)	 

{ ii=0;		
	for (int i=1; i&lt;=y; i++)		 
		 if ( ! (i%2))	
		ii += i*i;	 
}

int get_ii (void)

{return ii;}

};

int ii=10; 

int main()

{ while (ii&gt;0)
	{ myClass x(ii);

	cout&lt;&lt;x.get_ii()&lt;&lt;endl;

	ii --;
	}
system(&quot;pause&quot;);
return 0;
}
</code></pre>
<p>Ausgabe :</p>
<pre><code>220
120
120
56
56
20
20
4
4
0
</code></pre>
<p>und hier mein Problem :</p>
<pre><code>{ ii=0;		
	for (int i=1; i&lt;=y; i++)		 
		 if ( ! (i%2))	
		ii += i*i;	 
}
</code></pre>
<pre><code>if ( ! (i%2))
</code></pre>
<p>Verstehe ich das richtig. i zählt hoch und dabei das Modul &quot;berechnet&quot;. Davor ist aber der Operator !, falls also das Modulo 1 ist, wird die schleife nicht ausgeführt, wegen dem !. Falls sie 0 ergibt, dann schon ?</p>
<pre><code>for (int i=1; i&lt;=y; i++)
</code></pre>
<p>könnt ihr erkennen was die Grenze y ist ? habs nirgends gefunden</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/317947/altklausur</link><generator>RSS for Node</generator><lastBuildDate>Mon, 27 Jul 2026 22:52:43 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/317947.rss" rel="self" type="application/rss+xml"/><pubDate>Tue, 25 Jun 2013 19:40:56 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Altklausur on Tue, 25 Jun 2013 19:40:56 GMT]]></title><description><![CDATA[<p>Hallo leute,</p>
<p>neue Aufgabe neues Problem :). Bei diesem guten Stück hier bin ich an einer Stelle ganz durcheinander gekommen.</p>
<pre><code># include&lt;iostream&gt;
using namespace std;

class myClass		

{ private:		

int ii;		

public:		

myClass (int y)	 

{ ii=0;		
	for (int i=1; i&lt;=y; i++)		 
		 if ( ! (i%2))	
		ii += i*i;	 
}

int get_ii (void)

{return ii;}

};

int ii=10; 

int main()

{ while (ii&gt;0)
	{ myClass x(ii);

	cout&lt;&lt;x.get_ii()&lt;&lt;endl;

	ii --;
	}
system(&quot;pause&quot;);
return 0;
}
</code></pre>
<p>Ausgabe :</p>
<pre><code>220
120
120
56
56
20
20
4
4
0
</code></pre>
<p>und hier mein Problem :</p>
<pre><code>{ ii=0;		
	for (int i=1; i&lt;=y; i++)		 
		 if ( ! (i%2))	
		ii += i*i;	 
}
</code></pre>
<pre><code>if ( ! (i%2))
</code></pre>
<p>Verstehe ich das richtig. i zählt hoch und dabei das Modul &quot;berechnet&quot;. Davor ist aber der Operator !, falls also das Modulo 1 ist, wird die schleife nicht ausgeführt, wegen dem !. Falls sie 0 ergibt, dann schon ?</p>
<pre><code>for (int i=1; i&lt;=y; i++)
</code></pre>
<p>könnt ihr erkennen was die Grenze y ist ? habs nirgends gefunden</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2334350</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2334350</guid><dc:creator><![CDATA[coc1948]]></dc:creator><pubDate>Tue, 25 Jun 2013 19:40:56 GMT</pubDate></item><item><title><![CDATA[Reply to Altklausur on Tue, 25 Jun 2013 19:45:53 GMT]]></title><description><![CDATA[<pre><code>if ( ! (i%2))
</code></pre>
<p>!0 ergibt 1<br />
!alles_andere ergibt 0.</p>
<p>D.h. du kommst nur dann in die if, wenn i%2 0 ergibt, i also eine gerade Zahl ist.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2334351</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2334351</guid><dc:creator><![CDATA[out]]></dc:creator><pubDate>Tue, 25 Jun 2013 19:45:53 GMT</pubDate></item><item><title><![CDATA[Reply to Altklausur on Tue, 25 Jun 2013 19:52:35 GMT]]></title><description><![CDATA[<p>Rück es vernünftig ein, dann sieht man auch, was passiert:</p>
<pre><code>for (int i=1; i&lt;=y; i++)         
  if ( ! (i%2)) 
    ii += i*i;
</code></pre>
<p>Die Schleife wird abgearbeitet. In der Schleife steht das if und wird also für jedes i angesehen. Ist die Bedingung des if wahr, dann wird <code>ii += i*i;</code> ausgeführt. Man erhält also die Summe der Quadrate aller i von 1 bis y mit <code>! (i%2)</code> . <code>i%2</code> ist wahr, wenn i nicht glatt durch 2 teilbar ist (also ungerade ist). <code>!</code> kehrt diese Aussage um. Also die Summe der Quadrate aller geraden Zahlen: 0, 4, 20, 56, … Solltest du in der Ausgabe wiedererkennen.</p>
<blockquote>
<p>könnt ihr erkennen was die Grenze y ist ? habs nirgends gefunden</p>
</blockquote>
<p>Direkt darüber:</p>
<blockquote>
<p>myClass (int y)</p>
</blockquote>
<p>Wieder schadet die unübersichtliche Schreibweise der Lesbarkeit.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2334353</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2334353</guid><dc:creator><![CDATA[SeppJ]]></dc:creator><pubDate>Tue, 25 Jun 2013 19:52:35 GMT</pubDate></item><item><title><![CDATA[Reply to Altklausur on Tue, 25 Jun 2013 19:52:43 GMT]]></title><description><![CDATA[<p>vatan89 schrieb:</p>
<blockquote>
<pre><code>if ( ! (i%2))
</code></pre>
<p>Verstehe ich das richtig. i zählt hoch und dabei das Modul &quot;berechnet&quot;. Davor ist aber der Operator !, falls also das Modulo 1 ist, wird die schleife nicht ausgeführt, wegen dem !. Falls sie 0 ergibt, dann schon ?</p>
</blockquote>
<p>Im Prinzip schon, allerdings wird ist die von dem if gesteuerte Anweisung keine Schleife (und das if selbst auch nicht.) Es hilft auch, wenn man sich klar macht, was Modulo bedeutet: i%2 ist genau dann 0, wenn die Division durch 2 ohne Rest aufgeht, wenn also i eine gerade Zahl ist.</p>
<blockquote>
<pre><code>for (int i=1; i&lt;=y; i++)
</code></pre>
<p>könnt ihr erkennen was die Grenze y ist ? habs nirgends gefunden</p>
</blockquote>
<p>y ist ein Funktionsparameter. In dem Fall ist die Funktion ein Konstruktor, du musst also gucken wo das Objekt erzeugt wird.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2334354</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2334354</guid><dc:creator><![CDATA[Bashar]]></dc:creator><pubDate>Tue, 25 Jun 2013 19:52:43 GMT</pubDate></item><item><title><![CDATA[Reply to Altklausur on Tue, 25 Jun 2013 20:13:41 GMT]]></title><description><![CDATA[<p>Danke, Problem gelöst 1A !</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2334357</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2334357</guid><dc:creator><![CDATA[coc1948]]></dc:creator><pubDate>Tue, 25 Jun 2013 20:13:41 GMT</pubDate></item></channel></rss>