<?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[Anfängerfrage: Vertauschen von Arrayinhalten]]></title><description><![CDATA[<p>Hallo</p>
<p>Ich habe:</p>
<p>int Feld[20]</p>
<p>in Feld[0] steht zum Beispiele ein 5<br />
und in Feld[10] steht eine 12</p>
<p>Jetzt möchte ich gerne die 5 von Feld[0] in Feld[10] schreiben und die 12 von Feld[10] in Feld[0]</p>
<p>Ich mache das im moment über eine hilfsvariable.</p>
<p>Gibt es dafür zufällig einen Befehl sowas wie change(Feld[0],Feld[10]) oder ähnliches?</p>
<p>Danke für eure Hilfe</p>
<p>sub</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/188677/anfängerfrage-vertauschen-von-arrayinhalten</link><generator>RSS for Node</generator><lastBuildDate>Fri, 25 Sep 2026 04:19:45 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/188677.rss" rel="self" type="application/rss+xml"/><pubDate>Thu, 02 Aug 2007 19:44:21 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Anfängerfrage: Vertauschen von Arrayinhalten on Thu, 02 Aug 2007 19:44:21 GMT]]></title><description><![CDATA[<p>Hallo</p>
<p>Ich habe:</p>
<p>int Feld[20]</p>
<p>in Feld[0] steht zum Beispiele ein 5<br />
und in Feld[10] steht eine 12</p>
<p>Jetzt möchte ich gerne die 5 von Feld[0] in Feld[10] schreiben und die 12 von Feld[10] in Feld[0]</p>
<p>Ich mache das im moment über eine hilfsvariable.</p>
<p>Gibt es dafür zufällig einen Befehl sowas wie change(Feld[0],Feld[10]) oder ähnliches?</p>
<p>Danke für eure Hilfe</p>
<p>sub</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1337627</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1337627</guid><dc:creator><![CDATA[sub-elektro]]></dc:creator><pubDate>Thu, 02 Aug 2007 19:44:21 GMT</pubDate></item><item><title><![CDATA[Reply to Anfängerfrage: Vertauschen von Arrayinhalten on Thu, 02 Aug 2007 19:48:49 GMT]]></title><description><![CDATA[<p><a href="http://en.wikipedia.org/wiki/XOR_swap_algorithm" rel="nofollow">http://en.wikipedia.org/wiki/XOR_swap_algorithm</a><br />
<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/1337632</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1337632</guid><dc:creator><![CDATA[Undertaker]]></dc:creator><pubDate>Thu, 02 Aug 2007 19:48:49 GMT</pubDate></item><item><title><![CDATA[Reply to Anfängerfrage: Vertauschen von Arrayinhalten on Thu, 02 Aug 2007 21:34:04 GMT]]></title><description><![CDATA[<p>Hallo</p>
<p>Oder auch <a href="http://www.cpp-tutor.de/cpp/le13/le13_03.htm" rel="nofollow">std::swap</a>, eine standard-konforme Kapselung des Dreieckstausches.</p>
<p>bis bald<br />
akari</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1337688</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1337688</guid><dc:creator><![CDATA[akari]]></dc:creator><pubDate>Thu, 02 Aug 2007 21:34:04 GMT</pubDate></item><item><title><![CDATA[Reply to Anfängerfrage: Vertauschen von Arrayinhalten on Fri, 03 Aug 2007 08:01:31 GMT]]></title><description><![CDATA[<p>Undertaker schrieb:</p>
<blockquote>
<p><a href="http://en.wikipedia.org/wiki/XOR_swap_algorithm" rel="nofollow">http://en.wikipedia.org/wiki/XOR_swap_algorithm</a><br />
<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>
</blockquote>
<p>wenn man assembler auf c(++) anwendet, lol</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1337844</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1337844</guid><dc:creator><![CDATA[rapso]]></dc:creator><pubDate>Fri, 03 Aug 2007 08:01:31 GMT</pubDate></item><item><title><![CDATA[Reply to Anfängerfrage: Vertauschen von Arrayinhalten on Fri, 03 Aug 2007 08:20:24 GMT]]></title><description><![CDATA[<p>rapso schrieb:</p>
<blockquote>
<p>Undertaker schrieb:</p>
<blockquote>
<p><a href="http://en.wikipedia.org/wiki/XOR_swap_algorithm" rel="nofollow">http://en.wikipedia.org/wiki/XOR_swap_algorithm</a><br />
<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>
</blockquote>
<p>wenn man assembler auf c(++) anwendet, lol</p>
</blockquote>
<p>ja, hihi, ich weiss - mit einer temporären variable ist man meistens besser dran.<br />
aber XOR sieht doch schick aus <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="😉"
    /> und ausserdem sind C und assembler ja nicht sooo weit voneinander entfernt.<br />
<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/1337864</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1337864</guid><dc:creator><![CDATA[Undertaker]]></dc:creator><pubDate>Fri, 03 Aug 2007 08:20:24 GMT</pubDate></item><item><title><![CDATA[Reply to Anfängerfrage: Vertauschen von Arrayinhalten on Fri, 03 Aug 2007 08:20:38 GMT]]></title><description><![CDATA[<p>ja danke schön!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1337866</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1337866</guid><dc:creator><![CDATA[sub-elektro]]></dc:creator><pubDate>Fri, 03 Aug 2007 08:20:38 GMT</pubDate></item><item><title><![CDATA[Reply to Anfängerfrage: Vertauschen von Arrayinhalten on Fri, 03 Aug 2007 08:42:15 GMT]]></title><description><![CDATA[<p>Undertaker schrieb:</p>
<blockquote>
<p>und ausserdem sind C und assembler ja nicht sooo weit voneinander entfernt.<br />
<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>
</blockquote>
<p>Wir sind hier aber nicht in C, sondern in C++ (nur falls du es übersehen hast). Und der XOR-Swap mag ja für primitive Daten (und platzkritische Aufgaben) wie int's die &quot;ideale&quot; Lösung sein, ein Versuch, den auf vollwertige Objekte umzusetzen, wäre aber tödlich für ein Programm.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1337891</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1337891</guid><dc:creator><![CDATA[CStoll]]></dc:creator><pubDate>Fri, 03 Aug 2007 08:42:15 GMT</pubDate></item><item><title><![CDATA[Reply to Anfängerfrage: Vertauschen von Arrayinhalten on Fri, 03 Aug 2007 08:47:26 GMT]]></title><description><![CDATA[<p>CStoll schrieb:</p>
<blockquote>
<p>...ein Versuch, den auf vollwertige Objekte umzusetzen, wäre aber tödlich für ein Programm.</p>
</blockquote>
<p>erklärung bitte...<br />
<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/1337897</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1337897</guid><dc:creator><![CDATA[Undertaker]]></dc:creator><pubDate>Fri, 03 Aug 2007 08:47:26 GMT</pubDate></item><item><title><![CDATA[Reply to Anfängerfrage: Vertauschen von Arrayinhalten on Fri, 03 Aug 2007 08:55:11 GMT]]></title><description><![CDATA[<p>In Kurzfassung: <em>Jeder</em> Versuch, vollwertige Objekte auf Binär-Ebene zu manipulieren, ist potentiell tödlich, weil du dabei bestimmte Invarianten verletzt, auf deren Einhaltung die Klassenmethoden vertrauen.<br />
(z.B. verwende ich in einer Kontrollklasse einen vector von Objekten, die wiederum jeder einen Zeiger auf ihren Controller haben - bei einem XOR-Swap würde ich nur die Binärrepresentation der internen vector-Daten austauschen, aber die vector-Elemente arbeiten plötzlich mit dem falschen Controller zusammen - der klassische Dreieckstausch nutzt <em>meinen</em> op= und passt darum auch die unterliegenden Objekte an)</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1337906</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1337906</guid><dc:creator><![CDATA[CStoll]]></dc:creator><pubDate>Fri, 03 Aug 2007 08:55:11 GMT</pubDate></item><item><title><![CDATA[Reply to Anfängerfrage: Vertauschen von Arrayinhalten on Fri, 03 Aug 2007 09:00:29 GMT]]></title><description><![CDATA[<p>CStoll schrieb:</p>
<blockquote>
<p>- der klassische Dreieckstausch nutzt <em>meinen</em> op= und passt darum auch die unterliegenden Objekte an)</p>
</blockquote>
<p>d.h. du brauchst einen ganz speziellen <em>op=</em>, der eventuell auch kenntnis von dem controller hat? kann man sich beliebig viele <em>op=</em> anlegen? einen für jeden zweck?<br />
<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/1337913</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1337913</guid><dc:creator><![CDATA[Undertaker]]></dc:creator><pubDate>Fri, 03 Aug 2007 09:00:29 GMT</pubDate></item><item><title><![CDATA[Reply to Anfängerfrage: Vertauschen von Arrayinhalten on Fri, 03 Aug 2007 09:09:50 GMT]]></title><description><![CDATA[<p>Undertaker schrieb:</p>
<blockquote>
<p>CStoll schrieb:</p>
<blockquote>
<p>- der klassische Dreieckstausch nutzt <em>meinen</em> op= und passt darum auch die unterliegenden Objekte an)</p>
</blockquote>
<p>d.h. du brauchst einen ganz speziellen <em>op=</em>, der eventuell auch kenntnis von dem controller hat? kann man sich beliebig viele <em>op=</em> anlegen? einen für jeden zweck?<br />
<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>
</blockquote>
<p>Nein, ich habe einen speziellen op= im Controller - der weiß, daß er die vector-Elemente umbiegen muß.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1337924</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1337924</guid><dc:creator><![CDATA[CStoll]]></dc:creator><pubDate>Fri, 03 Aug 2007 09:09:50 GMT</pubDate></item><item><title><![CDATA[Reply to Anfängerfrage: Vertauschen von Arrayinhalten on Fri, 03 Aug 2007 10:55:39 GMT]]></title><description><![CDATA[<p>Undertaker schrieb:</p>
<blockquote>
<p>rapso schrieb:</p>
<blockquote>
<p>Undertaker schrieb:</p>
<blockquote>
<p><a href="http://en.wikipedia.org/wiki/XOR_swap_algorithm" rel="nofollow">http://en.wikipedia.org/wiki/XOR_swap_algorithm</a><br />
<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>
</blockquote>
<p>wenn man assembler auf c(++) anwendet, lol</p>
</blockquote>
<p>ja, hihi, ich weiss - mit einer temporären variable ist man meistens besser dran.<br />
aber XOR sieht doch schick aus <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="😉"
    /> und ausserdem sind C und assembler ja nicht sooo weit voneinander entfernt.<br />
<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>
</blockquote>
<p>weit genug um solche unsinnigen dinge zu machen. vielleicht wird es dir verstaendlich wenn du dir ueberlegst, dass eine cpu nur auf registern arbeitet.</p>
<p>simples swap macht also dann in assembler</p>
<pre><code>register a = Array[x]
 register b = Array[b]
 Array[x] = b;
 Array[y] = a;
</code></pre>
<p>und nun mit dem funky assembler trick von 1980</p>
<pre><code>register a = Array[x]
 register b = Array[b]
 a^=b;
 b^=a;
 a^=b;
 Array[x] = a;
 Array[y] = b;
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1338023</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1338023</guid><dc:creator><![CDATA[rapso]]></dc:creator><pubDate>Fri, 03 Aug 2007 10:55:39 GMT</pubDate></item></channel></rss>