<?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[logischer fehler!! Weshalb??]]></title><description><![CDATA[<pre><code class="language-cpp">int main()
{
  // testet auf Minimum dreier Ganzzahlen:
  int n1, n2, n3;
  cout &lt;&lt; &quot;Bitte geben Sie drei Ganzzahlen ein &quot;;
  cin &gt;&gt; n1 &gt;&gt; n2 &gt;&gt; n3;  // z.B. 0 0 1

  if (n1 &gt;= n2 &gt;= n3)  //Ganzzahlen abgebildet!
    cout &lt;&lt; &quot;max = &quot; &lt;&lt; n1;  // 

  return 0;
}
</code></pre>
<p>Eingabe 0<br />
0<br />
1<br />
Ausgabe: max=0</p>
<p>Weshalb 0 und nicht 1 ????</p>
<p>Laut Vorlesung trifft folgendes zu!:&quot;&quot;Boolesche Ausdrücke besitzen<br />
numerische Werte<br />
(FALSE -&gt; 0, TRUE -&gt; 1).<br />
Die Auswertung zusammengesetzter Ausdrücke kann daher &quot;verzwickt&quot;<br />
sein.&quot;&quot; Aber weshalb? Hab hier ja kein bool definiert sondern int!</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/245030/logischer-fehler-weshalb</link><generator>RSS for Node</generator><lastBuildDate>Sat, 19 Sep 2026 01:18:23 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/245030.rss" rel="self" type="application/rss+xml"/><pubDate>Thu, 09 Jul 2009 09:55:01 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to logischer fehler!! Weshalb?? on Thu, 09 Jul 2009 09:55:01 GMT]]></title><description><![CDATA[<pre><code class="language-cpp">int main()
{
  // testet auf Minimum dreier Ganzzahlen:
  int n1, n2, n3;
  cout &lt;&lt; &quot;Bitte geben Sie drei Ganzzahlen ein &quot;;
  cin &gt;&gt; n1 &gt;&gt; n2 &gt;&gt; n3;  // z.B. 0 0 1

  if (n1 &gt;= n2 &gt;= n3)  //Ganzzahlen abgebildet!
    cout &lt;&lt; &quot;max = &quot; &lt;&lt; n1;  // 

  return 0;
}
</code></pre>
<p>Eingabe 0<br />
0<br />
1<br />
Ausgabe: max=0</p>
<p>Weshalb 0 und nicht 1 ????</p>
<p>Laut Vorlesung trifft folgendes zu!:&quot;&quot;Boolesche Ausdrücke besitzen<br />
numerische Werte<br />
(FALSE -&gt; 0, TRUE -&gt; 1).<br />
Die Auswertung zusammengesetzter Ausdrücke kann daher &quot;verzwickt&quot;<br />
sein.&quot;&quot; Aber weshalb? Hab hier ja kein bool definiert sondern int!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1739581</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1739581</guid><dc:creator><![CDATA[Jumper]]></dc:creator><pubDate>Thu, 09 Jul 2009 09:55:01 GMT</pubDate></item><item><title><![CDATA[Reply to logischer fehler!! Weshalb?? on Thu, 09 Jul 2009 10:01:45 GMT]]></title><description><![CDATA[<p>Jumper schrieb:</p>
<blockquote>
<pre><code class="language-cpp">if (n1 &gt;= n2 &gt;= n3)  //Ganzzahlen abgebildet!
</code></pre>
</blockquote>
<p>Das geht nicht, du vergleichst damit einen boolschen Wert (Ergebnis eines Vergleichs) mit einem int-Wert...</p>
<p>Eher so:</p>
<pre><code class="language-cpp">int main() 
{ 
	// testet auf Minimum dreier Ganzzahlen: 
	int n1, n2, n3; 
	cout &lt;&lt; &quot;Bitte geben Sie drei Ganzzahlen ein &quot;; 
	cin &gt;&gt; n1 &gt;&gt; n2 &gt;&gt; n3;  // z.B. 0 0 1 

	int minimum=std::min(std::min(n1,n2),n3);
	int maximum=std::max(std::max(n1,n2),n3);
	cout &lt;&lt; &quot;max = &quot; &lt;&lt; maximum &lt;&lt; endl &lt;&lt; &quot;min = &quot; &lt;&lt; minimum;  // 

	return 0; 
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1739591</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1739591</guid><dc:creator><![CDATA[_matze]]></dc:creator><pubDate>Thu, 09 Jul 2009 10:01:45 GMT</pubDate></item><item><title><![CDATA[Reply to logischer fehler!! Weshalb?? on Thu, 09 Jul 2009 10:17:50 GMT]]></title><description><![CDATA[<p>_matze schrieb:</p>
<blockquote>
<p>Jumper schrieb:</p>
<blockquote>
<pre><code class="language-cpp">if (n1 &gt;= n2 &gt;= n3)  //Ganzzahlen abgebildet!
</code></pre>
</blockquote>
<pre><code class="language-cpp">int main() 
{ 
	// testet auf Minimum dreier Ganzzahlen: 
	int n1, n2, n3; 
	cout &lt;&lt; &quot;Bitte geben Sie drei Ganzzahlen ein &quot;; 
	cin &gt;&gt; n1 &gt;&gt; n2 &gt;&gt; n3;  // z.B. 0 0 1 

	int minimum=std::min(std::min(n1,n2),n3);
	int maximum=std::max(std::max(n1,n2),n3);
	cout &lt;&lt; &quot;max = &quot; &lt;&lt; maximum &lt;&lt; endl &lt;&lt; &quot;min = &quot; &lt;&lt; minimum;  // 

	return 0; 
}
</code></pre>
</blockquote>
<p>Ist ja geil, wusste gar nicht, dass die Standardlib sowas anbietet x)</p>
<p>Dein Fehler liegt wie gesagt hier:</p>
<pre><code class="language-cpp">if (n1 &gt;= n2 &gt;= n3)  //Ganzzahlen abgebildet!
</code></pre>
<p>Du müsstest es so machen:</p>
<pre><code class="language-cpp">if(n1 &gt;= n2 &amp;&amp; n1 &gt;= n3) {
//Do that Shit...
else if( n2 &gt;= n1 &amp;&amp; n2 &gt;= n3)
//Do that other shit...
else if 
else if...
}
</code></pre>
<p>Aber diese Methode ist halt ziemlich aufwendig. Da empfiehlt es sich gleich die Funktion von _matze zu nehmen.</p>
<p>Lg Mentras</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1739603</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1739603</guid><dc:creator><![CDATA[Mentras]]></dc:creator><pubDate>Thu, 09 Jul 2009 10:17:50 GMT</pubDate></item><item><title><![CDATA[Reply to logischer fehler!! Weshalb?? on Thu, 09 Jul 2009 11:02:17 GMT]]></title><description><![CDATA[<p>Ist dieses Standard Hilfstemplates aber nur immer auf 2 zahlen anwendbar!?</p>
<p>Gibt es eine einfache Möglichkeit min und max aus z.B 100 zahlen zu ermitteln?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1739639</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1739639</guid><dc:creator><![CDATA[Jumper]]></dc:creator><pubDate>Thu, 09 Jul 2009 11:02:17 GMT</pubDate></item><item><title><![CDATA[Reply to logischer fehler!! Weshalb?? on Thu, 09 Jul 2009 11:17:00 GMT]]></title><description><![CDATA[<p>Jumper schrieb:</p>
<blockquote>
<p>Ist dieses Standard Hilfstemplates aber nur immer auf 2 zahlen anwendbar!?</p>
<p>Gibt es eine einfache Möglichkeit min und max aus z.B 100 zahlen zu ermitteln?</p>
</blockquote>
<p>Dafür gibt's std::vector und std::max_element() &amp; std::min_element():</p>
<pre><code class="language-cpp">#include &lt;vector&gt;
#include &lt;algorithm&gt;

int main() 
{ 
   std::vector&lt;int&gt; n; 
   std::cout &lt;&lt; &quot;Bitte geben Sie Ganzzahlen ein &quot;; 

   int tmp;
   while(std::cin &gt;&gt; tmp) n.push_back(tmp); // Einlesen beliebig vieler Zahlen

   int minimum=std::min_element(n.begin(), n.end());
   int maximum=std::max_element(n.begin(), n.end());
   std::cout &lt;&lt; &quot;max = &quot; &lt;&lt; maximum &lt;&lt; &quot;\nmin = &quot; &lt;&lt; minimum &lt;&lt; '\n';
   return 0; 
}
</code></pre>
<p>Das Einlesen sollte man noch auf</p>
<pre><code class="language-cpp">#include &lt;iterator&gt;
...
   std::copy(std::istream_iterator&lt;int&gt;(std::cin), std::istream_iterator&lt;int&gt;(), std::back_inserter(n));
</code></pre>
<p>eindampfen können, aber ob das tatsächlich die Lesbarkeit erhöht, ist nicht unumstritten. <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>
<p>Alternativ kann man natürlich - solange es wirklich nur um Maximium-/Minimumsfindung geht, diese auch direkt beim Einlesen erledigen.</p>
<p>Gruß,</p>
<p>Simon2.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1739645</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1739645</guid><dc:creator><![CDATA[Simon2]]></dc:creator><pubDate>Thu, 09 Jul 2009 11:17:00 GMT</pubDate></item><item><title><![CDATA[Reply to logischer fehler!! Weshalb?? on Thu, 09 Jul 2009 12:00:58 GMT]]></title><description><![CDATA[<p>Simon2 schrieb:</p>
<blockquote>
<p>Jumper schrieb:</p>
<blockquote>
<p>Ist dieses Standard Hilfstemplates aber nur immer auf 2 zahlen anwendbar!?</p>
<p>Gibt es eine einfache Möglichkeit min und max aus z.B 100 zahlen zu ermitteln?</p>
</blockquote>
<p>Dafür gibt's std::vector und std::max_element() &amp; std::min_element():</p>
<pre><code class="language-cpp">#include &lt;vector&gt;
#include &lt;algorithm&gt;

int main() 
{ 
   std::vector&lt;int&gt; n; 
   std::cout &lt;&lt; &quot;Bitte geben Sie Ganzzahlen ein &quot;; 

   int tmp;
   while(std::cin &gt;&gt; tmp) n.push_back(tmp); // Einlesen beliebig vieler Zahlen

   int minimum=std::min_element(n.begin(), n.end());
   int maximum=std::max_element(n.begin(), n.end());
   std::cout &lt;&lt; &quot;max = &quot; &lt;&lt; maximum &lt;&lt; &quot;\nmin = &quot; &lt;&lt; minimum &lt;&lt; '\n';
   return 0; 
}
</code></pre>
<p>Das Einlesen sollte man noch auf</p>
<pre><code class="language-cpp">#include &lt;iterator&gt;
...
   std::copy(std::istream_iterator&lt;int&gt;(std::cin), std::istream_iterator&lt;int&gt;(), std::back_inserter(n));
</code></pre>
<p>eindampfen können, aber ob das tatsächlich die Lesbarkeit erhöht, ist nicht unumstritten. <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>
<p>Alternativ kann man natürlich - solange es wirklich nur um Maximium-/Minimumsfindung geht, diese auch direkt beim Einlesen erledigen.</p>
<p>Gruß,</p>
<p>Simon2.</p>
</blockquote>
<p>Jaja --&gt; <a href="http://www.ariel.com.au/jokes/The_Evolution_of_a_Programmer.html" rel="nofollow">http://www.ariel.com.au/jokes/The_Evolution_of_a_Programmer.html</a> <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/1739674</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1739674</guid><dc:creator><![CDATA[WAR**FIRE]]></dc:creator><pubDate>Thu, 09 Jul 2009 12:00:58 GMT</pubDate></item><item><title><![CDATA[Reply to logischer fehler!! Weshalb?? on Thu, 09 Jul 2009 13:33:40 GMT]]></title><description><![CDATA[<p><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>
<p>Wobei ich max_element() schon sehr hilfreich finde ... einfach weil es beim Lesen wirklich (IMHO) klarer, eindeutiger und weniger fehleranfällig ist als eine handgemachte Schleife.</p>
<p>Gruß,</p>
<p>Simon2.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1739751</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1739751</guid><dc:creator><![CDATA[Simon2]]></dc:creator><pubDate>Thu, 09 Jul 2009 13:33:40 GMT</pubDate></item></channel></rss>