<?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[[gelöst] 3 ints sortieren ohne Werkzeug]]></title><description><![CDATA[<p>Hallo Forianer,</p>
<p>in meinem Lehrbuch ist folgende Aufgabe zu finden:</p>
<blockquote>
<p>Schreiben Sie ein Programm, das den Benutzer auffordert, drei Integer-Werte einzugeben, und dann die Werte in numerischer Reihenfolge getrennt durch Komma ausgibt. Wenn der Benutzer die Werte 10 4 6 eingibt, sollte die Ausgabe &quot;4, 6, 10&quot; lauten. Wenn zwei Werte gleich sind, sollten sie zusammenstehen; d.h., die Eingabe 4 5 4 sollte &quot;4, 4, 5&quot; ergeben.</p>
</blockquote>
<p>Nun habe ich mich eine ganze zeitlang mit Java beschäftigt, und auch in C++ hatte ich in der Vergangenheit schon zwei Anläufe, die Sprache zu lernen. Die Aufgabe ist also für mich nicht wirklich eine Schwierigkeit.</p>
<p>Aber! Zu dem Zeitpunkt, zu dem die Aufgabe im Buch kommt, wurden die logischen Operatoren noch nicht besprochen, und auch die if-Verzweigung nicht wirklich, d.h., es wurde bisher nur ein ganz einfaches if benutzt, ohne Blockanweisung, ohne else, ohne alles.</p>
<p>Meine erste Idee war, eine Hilfsvariable min zu definieren und die Zahlen darüber zu sortieren. Das hat aber ohne else-Zweig und ohne Anweisungsblock nicht funktioniert.</p>
<p>Meine zweite Idee war, drei Hilfsvariablen min, med und max zu definieren, und in einer endlosen Folge von if-Abfragen die Zahlen darin zu sortieren. Ging aber im Endeffekt auch nicht auf.</p>
<p>Zwar ist die Aufgabe jetzt nicht zwingend zum Weiterlernen. Zumal mir ja schon Mittel und Wege bekannt sind, die Aufgabe zu lösen. Ich habe aber den Ehrgeiz, das Buch wirklich komplett durchzuarbeiten, und ich würde die Aufgabe gern mit den bis zu dieser Stelle bekannten Mitteln hinbekommen.</p>
<p>Hat irgendwer eine Idee und kann mir einen kleinen Tipp geben? Aber bitte wirklich nur einen kleinen Tipp, ich will's selbst rauskriegen. <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="🙂"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/topic/280281/gelöst-3-ints-sortieren-ohne-werkzeug</link><generator>RSS for Node</generator><lastBuildDate>Mon, 24 Aug 2026 04:04:45 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/280281.rss" rel="self" type="application/rss+xml"/><pubDate>Wed, 12 Jan 2011 21:30:30 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to [gelöst] 3 ints sortieren ohne Werkzeug on Thu, 13 Jan 2011 13:07:08 GMT]]></title><description><![CDATA[<p>Hallo Forianer,</p>
<p>in meinem Lehrbuch ist folgende Aufgabe zu finden:</p>
<blockquote>
<p>Schreiben Sie ein Programm, das den Benutzer auffordert, drei Integer-Werte einzugeben, und dann die Werte in numerischer Reihenfolge getrennt durch Komma ausgibt. Wenn der Benutzer die Werte 10 4 6 eingibt, sollte die Ausgabe &quot;4, 6, 10&quot; lauten. Wenn zwei Werte gleich sind, sollten sie zusammenstehen; d.h., die Eingabe 4 5 4 sollte &quot;4, 4, 5&quot; ergeben.</p>
</blockquote>
<p>Nun habe ich mich eine ganze zeitlang mit Java beschäftigt, und auch in C++ hatte ich in der Vergangenheit schon zwei Anläufe, die Sprache zu lernen. Die Aufgabe ist also für mich nicht wirklich eine Schwierigkeit.</p>
<p>Aber! Zu dem Zeitpunkt, zu dem die Aufgabe im Buch kommt, wurden die logischen Operatoren noch nicht besprochen, und auch die if-Verzweigung nicht wirklich, d.h., es wurde bisher nur ein ganz einfaches if benutzt, ohne Blockanweisung, ohne else, ohne alles.</p>
<p>Meine erste Idee war, eine Hilfsvariable min zu definieren und die Zahlen darüber zu sortieren. Das hat aber ohne else-Zweig und ohne Anweisungsblock nicht funktioniert.</p>
<p>Meine zweite Idee war, drei Hilfsvariablen min, med und max zu definieren, und in einer endlosen Folge von if-Abfragen die Zahlen darin zu sortieren. Ging aber im Endeffekt auch nicht auf.</p>
<p>Zwar ist die Aufgabe jetzt nicht zwingend zum Weiterlernen. Zumal mir ja schon Mittel und Wege bekannt sind, die Aufgabe zu lösen. Ich habe aber den Ehrgeiz, das Buch wirklich komplett durchzuarbeiten, und ich würde die Aufgabe gern mit den bis zu dieser Stelle bekannten Mitteln hinbekommen.</p>
<p>Hat irgendwer eine Idee und kann mir einen kleinen Tipp geben? Aber bitte wirklich nur einen kleinen Tipp, ich will's selbst rauskriegen. <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="🙂"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/2005876</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2005876</guid><dc:creator><![CDATA[[[global:guest]]]]></dc:creator><pubDate>Thu, 13 Jan 2011 13:07:08 GMT</pubDate></item><item><title><![CDATA[Reply to [gelöst] 3 ints sortieren ohne Werkzeug on Wed, 12 Jan 2011 21:34:07 GMT]]></title><description><![CDATA[<p>P.S.: Dass man if-Verzweigungen schachteln kann, wurde bis zu dieser Aufgabe auch noch nirgends erwähnt oder benutzt.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2005877</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2005877</guid><dc:creator><![CDATA[[[global:guest]]]]></dc:creator><pubDate>Wed, 12 Jan 2011 21:34:07 GMT</pubDate></item><item><title><![CDATA[Reply to [gelöst] 3 ints sortieren ohne Werkzeug on Wed, 12 Jan 2011 21:39:23 GMT]]></title><description><![CDATA[<pre><code class="language-cpp">#include &lt;iostream&gt;

int main(int argc, char** argv)
{
	std::cout &lt;&lt; &quot;Geben Sie 3 Zahlen ein!&quot; &lt;&lt; std::endl;
	int a, b, c;
	std::cin &gt;&gt; a &gt;&gt; b &gt;&gt; c;

	if(a &lt; b &amp;&amp; b &lt; c)
		std::cout &lt;&lt; a &lt;&lt; &quot;, &quot; &lt;&lt; b &lt;&lt; &quot;, &quot; &lt;&lt; c &lt;&lt; std::endl;
	if(...)
		...

	.
	.
	.
}
</code></pre>
<p>ups. <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f61b.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--face_with_tongue"
      title=":P"
      alt="😛"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/2005881</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2005881</guid><dc:creator><![CDATA[314159265358979]]></dc:creator><pubDate>Wed, 12 Jan 2011 21:39:23 GMT</pubDate></item><item><title><![CDATA[Reply to [gelöst] 3 ints sortieren ohne Werkzeug on Wed, 12 Jan 2011 21:43:32 GMT]]></title><description><![CDATA[<p>Wie gesagt, keine logischen Operatoren! :p</p>
<p>Aber ich hatte gerade noch eine Idee... wenn's funktioniert, poste ich es gleich.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2005884</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2005884</guid><dc:creator><![CDATA[[[global:guest]]]]></dc:creator><pubDate>Wed, 12 Jan 2011 21:43:32 GMT</pubDate></item><item><title><![CDATA[Reply to [gelöst] 3 ints sortieren ohne Werkzeug on Wed, 12 Jan 2011 22:12:07 GMT]]></title><description><![CDATA[<p>Das Maximum und Minimum zweier Zahlen laesst sich auch ohne Vergleich bestimmen:</p>
<pre><code>max(a,b) = (a + b + abs(b-a)) / 2
min(a,b) = (a + b - abs(b-a)) / 2
</code></pre>
<p>Wahrscheinlich auch auf 3 Zahlen erweiterbar. Oder so:</p>
<pre><code>geg: a,b,c
a := min(a,b)
b := max(a,b)

b := min(b,c)
c := max(b,c)

a := min(a,b)
b := max(a,b)
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/2005886</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2005886</guid><dc:creator><![CDATA[knivil]]></dc:creator><pubDate>Wed, 12 Jan 2011 22:12:07 GMT</pubDate></item><item><title><![CDATA[Reply to [gelöst] 3 ints sortieren ohne Werkzeug on Wed, 12 Jan 2011 22:08:03 GMT]]></title><description><![CDATA[<p>min()/max() und abs() gibt es an dieser Stelle auch noch nicht (das wäre ja auch wirklich *zu* einfach, grins).</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2005891</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2005891</guid><dc:creator><![CDATA[[[global:guest]]]]></dc:creator><pubDate>Wed, 12 Jan 2011 22:08:03 GMT</pubDate></item><item><title><![CDATA[Reply to [gelöst] 3 ints sortieren ohne Werkzeug on Wed, 12 Jan 2011 22:12:54 GMT]]></title><description><![CDATA[<p>Ich habe jetzt nicht alle Fälle getestet, sollte aber passen:</p>
<pre><code class="language-cpp">#include &lt;iostream&gt;

int main()
{
  int a,b,c;
  std::cin&gt;&gt; a &gt;&gt; b &gt;&gt; c;
  int min1,min2,min3;
  int m,n;

  if (a&lt;=b) {min1=a; m=1;}
  if (a&gt;b) {min1=b; m=2;}
  if (c&lt;=min1) {min1=c; m=4;}

  if (a&gt;=b) {min3=a; n=8;}
  if (a&lt;b) {min3=b; n=16;}
  if (c&gt;=min3) {min3=c; n=32;}

  int z=m+n;

  if(z==9) min2=a; 
  if(z==17) min2=c;
  if(z==33) min2=b;
  if(z==10) min2=c;
  if(z==18) min2=b;
  if(z==34) min2=a;
  if(z==12) min2=b;
  if(z==20) min2=a;
  if(z==36) min2=c;

  std::cout&lt;&lt;min1&lt;&lt;' '&lt;&lt;min2&lt;&lt;' '&lt;&lt;min3&lt;&lt;std::endl;

}
</code></pre>
<p>edit: Falls noch keine Anweisungsblöcke bekannt sind, kann man nach dem gleichen Schema auch mit einzelnen Zuweisungen auskommen. Ist aber nochmal eine runde umständlicher.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2005892</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2005892</guid><dc:creator><![CDATA[SeppJ]]></dc:creator><pubDate>Wed, 12 Jan 2011 22:12:54 GMT</pubDate></item><item><title><![CDATA[Reply to [gelöst] 3 ints sortieren ohne Werkzeug on Wed, 12 Jan 2011 22:11:08 GMT]]></title><description><![CDATA[<p>dennis.cpp schrieb:</p>
<blockquote>
<p>min()/max() und abs() gibt es an dieser Stelle auch noch nicht (das wäre ja auch wirklich *zu* einfach, grins).</p>
</blockquote>
<p>Dann bin ich aber langsam wirklich gespannt wie die Lösung aussehen soll, wenn du nicht mal so etwas coden darfst:</p>
<pre><code class="language-cpp">int max( int a, int b )
{
	return ( a + b + abs(b-a) ) / 2;
}

int min( int a, int b )
{
	return ( a + b - abs(b-a) ) / 2;
}

int main()
{
	cout &lt;&lt; max( 12, max(6, 4) ) &lt;&lt; endl;
	cout &lt;&lt; min( 12, min(6, 4) ) &lt;&lt; endl;
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/2005893</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2005893</guid><dc:creator><![CDATA[icarus2]]></dc:creator><pubDate>Wed, 12 Jan 2011 22:11:08 GMT</pubDate></item><item><title><![CDATA[Reply to [gelöst] 3 ints sortieren ohne Werkzeug on Wed, 12 Jan 2011 22:17:32 GMT]]></title><description><![CDATA[<p>dennis.cpp schrieb:</p>
<blockquote>
<p>min()/max() und abs() gibt es an dieser Stelle auch noch nicht (das wäre ja auch wirklich *zu* einfach, grins).</p>
</blockquote>
<p>min/max habe ich gerade als Funktionen definiert. Ich brauche sie nicht. Du kannst jedes Vorkommen von min/max durch die entsprechende rechte Seite im Programm ersetzen. Und anstatt zu sagen, was du alles nicht zur Verfuegung hast, waere es fuer mich einfacher, wenn du sagst, was du zur Verfuegung hast. Nacher darf man kein + mehr benutzen ...</p>
<p><a class="plugin-mentions-user plugin-mentions-a" href="https://www.c-plusplus.net/forum/uid/22908">@icarus2</a>: Deine Loesung ist unvollstaendig, du gibst nur Minimum und Maximum aus.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2005894</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2005894</guid><dc:creator><![CDATA[knivil]]></dc:creator><pubDate>Wed, 12 Jan 2011 22:17:32 GMT</pubDate></item><item><title><![CDATA[Reply to [gelöst] 3 ints sortieren ohne Werkzeug on Wed, 12 Jan 2011 22:45:52 GMT]]></title><description><![CDATA[<p><a class="plugin-mentions-user plugin-mentions-a" href="https://www.c-plusplus.net/forum/uid/19375">@SeppJ</a> - du benutzt leider auch Blockanweisungen bei den if-Konstrukten. <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="😞"
    /></p>
<p>So langsam gebe ich echt auf. Bei allen Ideen, die ich bisher hatte, lief es darauf hinaus, dass ich zum Schluss zwei Vergleiche in einer if-Anweisung hätte ausführen müssen.</p>
<p>Entweder habe ich in dem Kapitel des Buches irgendwas übersehen, oder die Aufgabe ist mit den bis dahin vorgestellten Mitteln wirklich nicht lösbar, und Stroustrup setzt voraus, dass man sich zusätzlich informiert.</p>
<p>Mein letzter Lösungsansatz sah so aus (std_lib_facilities.h ist ein Hilfsheader, der mit dem Buch mitgeliefert wird, um am Anfang einige Dinge zu verstecken und zu vereinfachen):</p>
<pre><code class="language-cpp">#include &quot;std_lib_facilities.h&quot;
int main()
{
    cout &lt;&lt; '\n';
    cout &lt;&lt; &quot;Bitte geben Sie drei ganze Zahlen ein: &quot;;
    int value1, value2, value3;
    cin &gt;&gt; value1 &gt;&gt; value2 &gt;&gt; value3;

    int min, max;

    // Decide which one of value1 and value2 is smaller:
    if (value1 &lt; value2)
        min = value1;
    if (value1 == value2)
        min = value1;
    if (value2 &lt; value1)
        min = value2;

    // Repeat the action to also set the bigger one, since each
    // if-statement is only allowed to fulfil one sub-statement:
    if (value1 &lt; value2)
        max = value2;
    if (value1 == value2)
        max = value2;
    if (value2 &lt; value1)
        max = value1;

    // Start creating the output by the result of the above decision.
    string first_output;
    if (min == value1)
        first_output = &quot;&quot; + value1 + &quot;, &quot; + value2;
    if (min == value2)
        first_output = &quot;&quot; + value2 + &quot;, &quot; + value1;

    // If value3 is smaller than min, the output is obvious:
    string final_output;
    if (value3 &lt; min)
        final_output = &quot;&quot; + value3 + &quot;, &quot; + first_output;

    // The same goes for value3 being bigger than max:
    if (value3 &gt; max)
        final_output = first_output + &quot;, &quot; + value3;
}
</code></pre>
<p>Damit habe ich das Problem, value3 irgendwie in die Mitte setzen zu können, aber auch nur umständlich nach hinten verschoben.</p>
<p><a class="plugin-mentions-user plugin-mentions-a" href="https://www.c-plusplus.net/forum/uid/21632">@knivil</a> - vorgestellt und benutzt wurden bisher nur die arithmetischen Operatoren, einfache if-Anweisungen mit genau einer Folgeanweisung, die Bibliotheksfunktion sqrt(), die einfachen Datentypen und string, die Vergleichsoperatoren, die Zuweisung und cin / cout. Ich kann mir gerade nicht mehr vorstellen, dass die Aufgabe damit lösbar sein soll...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2005900</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2005900</guid><dc:creator><![CDATA[[[global:guest]]]]></dc:creator><pubDate>Wed, 12 Jan 2011 22:45:52 GMT</pubDate></item><item><title><![CDATA[Reply to [gelöst] 3 ints sortieren ohne Werkzeug on Wed, 12 Jan 2011 22:49:13 GMT]]></title><description><![CDATA[<p>dennis.cpp schrieb:</p>
<blockquote>
<p><a class="plugin-mentions-user plugin-mentions-a" href="https://www.c-plusplus.net/forum/uid/19375">@SeppJ</a> - du benutzt leider auch Blockanweisungen bei den if-Konstrukten. <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="😞"
    /></p>
</blockquote>
<p><img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f62e.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--face_with_open_mouth"
      title=":open_mouth:"
      alt="😮"
    /> Auch nicht erlaubt? Was darf man dann überhaupt? Aber wie ich schon kommentierte, ist das auch keine Problem, wenn man es eine Runde umständlicher mag:</p>
<pre><code class="language-cpp">int a,b,c;
  std::cin&gt;&gt; a &gt;&gt; b &gt;&gt; c;
  int min1,min2,min3;
  int m,n;

  if (a&lt;=b)  m=1;
  if (a&gt;b)  m=2;
  if (m==1) min1=a;
  if (m==2) min1=b;
  if (c&lt;=min1) m=4;
  if (m==4) min1=c;

  if (a&gt;=b) n=8;
  if (a&lt;b) n=16;
  if (n==8) min3=a;
  if (n==16) min3=b;
  if (c&gt;=min3) n=32;
  if (n==32) min3=c;

  int z=m+n;

  if(z==9) min2=a; 
  if(z==17) min2=c;
  if(z==33) min2=b;
  if(z==10) min2=c;
  if(z==18) min2=b;
  if(z==34) min2=a;
  if(z==12) min2=b;
  if(z==20) min2=a;
  if(z==36) min2=c;

  std::cout&lt;&lt;min1&lt;&lt;' '&lt;&lt;min2&lt;&lt;' '&lt;&lt;min3&lt;&lt;std::endl;
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/2005902</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2005902</guid><dc:creator><![CDATA[SeppJ]]></dc:creator><pubDate>Wed, 12 Jan 2011 22:49:13 GMT</pubDate></item><item><title><![CDATA[Reply to [gelöst] 3 ints sortieren ohne Werkzeug on Wed, 12 Jan 2011 22:56:50 GMT]]></title><description><![CDATA[<p>Saugut. Da wäre ich heute nicht mehr drauf gekommen. Und morgen wahrscheinlich auch nicht. Das muss ich morgen nochmal ganz in Ruhe durchgehen.</p>
<p>Grandios!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2005905</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2005905</guid><dc:creator><![CDATA[[[global:guest]]]]></dc:creator><pubDate>Wed, 12 Jan 2011 22:56:50 GMT</pubDate></item><item><title><![CDATA[Reply to [gelöst] 3 ints sortieren ohne Werkzeug on Wed, 12 Jan 2011 23:47:12 GMT]]></title><description><![CDATA[<p>knivil schrieb:</p>
<blockquote>
<p><a class="plugin-mentions-user plugin-mentions-a" href="https://www.c-plusplus.net/forum/uid/22908">@icarus2</a>: Deine Loesung ist unvollstaendig, du gibst nur Minimum und Maximum aus.</p>
</blockquote>
<p>Ja, ist klar. Ich wollte ja ach nur zeigen wie man es implementieren könnte. Den Rest hätte er wahrscheinlich selber geschafft.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2005916</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2005916</guid><dc:creator><![CDATA[icarus2]]></dc:creator><pubDate>Wed, 12 Jan 2011 23:47:12 GMT</pubDate></item><item><title><![CDATA[Reply to [gelöst] 3 ints sortieren ohne Werkzeug on Thu, 13 Jan 2011 08:58:40 GMT]]></title><description><![CDATA[<p>Wenn man abs nicht verwenden darf, kann man es sich auch schnell selbst definieren. Damit sind keine logischen Operatoren wie &amp;&amp; oder || enthalten, if ohne else und Block ... meine Implementation erfuellt also alle Anforderungen?</p>
<pre><code>int abs(int a)
{
  if (a &lt; 0) return -1*a;
  return a;
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/2005949</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2005949</guid><dc:creator><![CDATA[knivil]]></dc:creator><pubDate>Thu, 13 Jan 2011 08:58:40 GMT</pubDate></item><item><title><![CDATA[Reply to [gelöst] 3 ints sortieren ohne Werkzeug on Thu, 13 Jan 2011 09:08:13 GMT]]></title><description><![CDATA[<p>Welches Buch soll das denn sein? Und auf welcher Seite steht die Aufgabe?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2005951</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2005951</guid><dc:creator><![CDATA[Tachyon]]></dc:creator><pubDate>Thu, 13 Jan 2011 09:08:13 GMT</pubDate></item><item><title><![CDATA[Reply to [gelöst] 3 ints sortieren ohne Werkzeug on Thu, 13 Jan 2011 09:32:32 GMT]]></title><description><![CDATA[<p>Ich tippe auf das hier: <a href="https://duckduckgo.com/?q=isbn+3868940057&amp;cppnetbooks" rel="nofollow">Einführung in die Programmierung mit C++ | ISBN: 3868940057</a><br />
Stroustrup wurde schon genannt, std_lib_facilities.h haben wir hier auch schonmal diskutiert.</p>
<p>Ich kann mir nicht vorstellen, dass die Lösung so aussehen soll wie von SeppJ. Stroustrup ist sehr pragmatisch und darauf bedacht, guten Stil zu lehren; intellektuelle Kunststückchen verlangt er sicher nicht.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2005956</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2005956</guid><dc:creator><![CDATA[Bashar]]></dc:creator><pubDate>Thu, 13 Jan 2011 09:32:32 GMT</pubDate></item><item><title><![CDATA[Reply to [gelöst] 3 ints sortieren ohne Werkzeug on Thu, 13 Jan 2011 10:04:39 GMT]]></title><description><![CDATA[<p><a class="plugin-mentions-user plugin-mentions-a" href="https://www.c-plusplus.net/forum/uid/21632">@knivil</a> - Stimmt, auch dir vielen Dank. Wie abs() zu implementieren wäre, hätte ich allerdings nicht gewusst - Mathe ist schon verdammt lange her. Grins.</p>
<p><a class="plugin-mentions-user plugin-mentions-a" href="https://www.c-plusplus.net/forum/uid/904">@Bashar</a> - genau das, ja. Wie gesagt, ich bin nicht sicher, ob Stroustrup das auch wirklich so gemeint hat. Tatsache ist aber, dass alles, was ich jetzt mal ausgeschlossen habe, vor dieser Aufgabe im Buch wirklich nicht besprochen und auch nicht angewendet wird. Man sollte aber vielleicht noch erwähnen, dass jedes Kapitel einen dreiteiligen Übungsteil hat. Im ersten Teil wird einfach nur angewendet, was besprochen wurde. Im zweiten Teil gibt es Wiederholungsfragen zum Inhalt des Kapitels. Und im dritten Teil gibt es *wirkliche* Aufgaben, bei denen eigenes Rätseln und Nachdenken gefordert ist. Kleine Puzzles eben. Und die Aufgabe stammt aus diesem dritten Teil. Stroustrup selbst sagt, dass die Aufgaben des dritten Teils Rätsel sind, die man für das Verständnis des Buches nicht bearbeiten *muss*. Obligatorisch sind nur die ersten beiden Übungsteile. Kann also gut sein, dass er vielleicht gerade doch auf solche &quot;intellektuellen Kunststücke&quot; aus ist. Vielleicht kann ich in ein paar Kapiteln mehr dazu sagen, wenn ich die anderen Aufgaben gesehen habe.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2005963</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2005963</guid><dc:creator><![CDATA[[[global:guest]]]]></dc:creator><pubDate>Thu, 13 Jan 2011 10:04:39 GMT</pubDate></item><item><title><![CDATA[Reply to [gelöst] 3 ints sortieren ohne Werkzeug on Thu, 13 Jan 2011 12:09:19 GMT]]></title><description><![CDATA[<p>Vielleicht gibt es zu den aufgaben auch Loesungen des Autors.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2006033</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2006033</guid><dc:creator><![CDATA[knivil]]></dc:creator><pubDate>Thu, 13 Jan 2011 12:09:19 GMT</pubDate></item><item><title><![CDATA[Reply to [gelöst] 3 ints sortieren ohne Werkzeug on Thu, 13 Jan 2011 12:28:32 GMT]]></title><description><![CDATA[<p>knivil schrieb:</p>
<blockquote>
<p>Vielleicht gibt es zu den aufgaben auch Loesungen des Autors.</p>
</blockquote>
<p><a href="http://www.stroustrup.com/Programming/Solutions/Ch3.html" rel="nofollow">http://www.stroustrup.com/Programming/Solutions/Ch3.html</a></p>
]]></description><link>https://www.c-plusplus.net/forum/post/2006042</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2006042</guid><dc:creator><![CDATA[Mitleid]]></dc:creator><pubDate>Thu, 13 Jan 2011 12:28:32 GMT</pubDate></item><item><title><![CDATA[Reply to [gelöst] 3 ints sortieren ohne Werkzeug on Thu, 13 Jan 2011 13:05:52 GMT]]></title><description><![CDATA[<p>Hm. Er benutzt logische Operatoren in seiner Lösung. Da muss ich nachher die ersten drei Kapitel nochmal durchblättern, ob ich das irgendwo übersehen habe. Falls nicht, schreibe ich ihm. <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="🙂"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/2006061</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2006061</guid><dc:creator><![CDATA[[[global:guest]]]]></dc:creator><pubDate>Thu, 13 Jan 2011 13:05:52 GMT</pubDate></item><item><title><![CDATA[Reply to [gelöst] 3 ints sortieren ohne Werkzeug on Thu, 13 Jan 2011 13:13:48 GMT]]></title><description><![CDATA[<p>Hab das Buch nicht, aber nach dem Link von oben ist Kapitel 3.4 'Operationen und Operatoren'. Da wird das wohl drin stehen.<br />
Insgesamt einer der überflüssigsten Threads, die ich hier je gesehen habe <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/2006065</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2006065</guid><dc:creator><![CDATA[Jockelx]]></dc:creator><pubDate>Thu, 13 Jan 2011 13:13:48 GMT</pubDate></item><item><title><![CDATA[Reply to [gelöst] 3 ints sortieren ohne Werkzeug on Thu, 13 Jan 2011 13:53:10 GMT]]></title><description><![CDATA[<p>Nein, steht da nicht drin. Das Buch ist auch nicht nach diesem Schema F aufgebaut, weil keine strukturierte Sprachbeschreibung, sondern didaktisches Lehrbuch.</p>
<p>Und den Thread musst du ja nicht lesen oder beantworten. <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="🙂"
    /> Für mich war er nicht überflüssig - ich hab' was gelernt dabei.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2006088</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2006088</guid><dc:creator><![CDATA[[[global:guest]]]]></dc:creator><pubDate>Thu, 13 Jan 2011 13:53:10 GMT</pubDate></item><item><title><![CDATA[Reply to [gelöst] 3 ints sortieren ohne Werkzeug on Thu, 13 Jan 2011 14:21:03 GMT]]></title><description><![CDATA[<p>dennis.cpp schrieb:</p>
<blockquote>
<p>Für mich war er nicht überflüssig - ich hab' was gelernt dabei.</p>
</blockquote>
<p>Okay, sry, dann will ch nichts gesagt haben.<br />
Du hast übrigens Recht: Laut Index kommt '&amp;&amp;' erst auf Seite 1053. Gewöhnungsbedürftiges Buch.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2006100</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2006100</guid><dc:creator><![CDATA[Jockelx]]></dc:creator><pubDate>Thu, 13 Jan 2011 14:21:03 GMT</pubDate></item><item><title><![CDATA[Reply to [gelöst] 3 ints sortieren ohne Werkzeug on Thu, 13 Jan 2011 18:17:04 GMT]]></title><description><![CDATA[<p>Ja, ist es tatsächlich. Und obwohl es mir bis jetzt echt gut gefällt, bin ich noch nicht sicher, ob es mir im Endeffekt mehr bringt als die beiden bisherigen Anläufe. Wenn's nicht vom &quot;Meister&quot; selbst wäre, wäre ich noch skeptischer... <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="🙂"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/2006242</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2006242</guid><dc:creator><![CDATA[[[global:guest]]]]></dc:creator><pubDate>Thu, 13 Jan 2011 18:17:04 GMT</pubDate></item><item><title><![CDATA[Reply to [gelöst] 3 ints sortieren ohne Werkzeug on Fri, 14 Jan 2011 01:37:15 GMT]]></title><description><![CDATA[<p>Warum alle so kompliziert?</p>
<p>Unrolled Bubble-Sort:</p>
<pre><code class="language-cpp">#include &lt;iostream&gt;

void sort3(int a, int b, int c)
{
	// tausche a, b wenn nötig
	int a2 = a;
	int b2 = b;

	if (a &gt; b)
		a2 = b;
	if (a &gt; b)
		b2 = a;

	// tausche b, c wenn nötig
	int b3 = b2;
	int c2 = c;

	if (b2 &gt; c)
		b3 = c;
	if (b2 &gt; c)
		c2 = b2;

	// tausche a, b wenn nötig
	int a3 = a2;
	int b4 = b3;

	if (a2 &gt; b3)
		a3 = b3;
	if (a2 &gt; b3)
		b4 = a2;

	// haben fertig
	std::cout &lt;&lt; a3 &lt;&lt; &quot;,&quot; &lt;&lt; b4 &lt;&lt; &quot;,&quot; &lt;&lt; c2 &lt;&lt; &quot;\n&quot;;
}

int main()
{
	sort3(1, 2, 3);
	sort3(1, 3, 2);

	sort3(2, 1, 3);
	sort3(2, 3, 1);

	sort3(3, 1, 2);
	sort3(3, 2, 1);
	return 0;
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/2006402</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2006402</guid><dc:creator><![CDATA[hustbaer]]></dc:creator><pubDate>Fri, 14 Jan 2011 01:37:15 GMT</pubDate></item><item><title><![CDATA[Reply to [gelöst] 3 ints sortieren ohne Werkzeug on Fri, 14 Jan 2011 09:07:23 GMT]]></title><description><![CDATA[<p>hustbaer schrieb:</p>
<blockquote>
<p>Warum alle so kompliziert?</p>
</blockquote>
<pre><code class="language-cpp">void sort3(int a, int b, int c)
{
    // tausche a, b wenn nötig
    int a2 = a;
    int b2 = b;

    if (a &gt; b)
        a2 = b;
    if (a &gt; b)
        b2 = a;

	if (c &gt; b2)
		cout &lt;&lt; a2 &lt;&lt; &quot;,&quot; &lt;&lt; b2 &lt;&lt; &quot;,&quot; &lt;&lt; c &lt;&lt; &quot;\n&quot;;
	if (c &lt; a2)
		cout &lt;&lt; c &lt;&lt; &quot;,&quot; &lt;&lt; a2 &lt;&lt; &quot;,&quot; &lt;&lt; b2 &lt;&lt; &quot;\n&quot;;
	else
		cout &lt;&lt; a2 &lt;&lt; &quot;,&quot; &lt;&lt; c &lt;&lt; &quot;,&quot; &lt;&lt; b2 &lt;&lt; &quot;\n&quot;;
}

int main()
{
    sort3(1, 2, 3);
    sort3(1, 3, 2);

    sort3(2, 1, 3);
    sort3(2, 3, 1);

    sort3(3, 1, 2);
    sort3(3, 2, 1);
    return 0;
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/2006439</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2006439</guid><dc:creator><![CDATA[hmpf]]></dc:creator><pubDate>Fri, 14 Jan 2011 09:07:23 GMT</pubDate></item></channel></rss>