<?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[BoubleSort Funktion arbeitet nicht richtig.]]></title><description><![CDATA[<p>Hallo ich bin neu hier im Forum. Ich habe mal eine Frage zu einer Funktion, die ich in C geschrieben habe. Es handelt sich dabei um die Doublesourt Sortierung. Ich bin noch Anfänger und dies war eine Aufgabe. Warum funktioniert diese Funktion nicht richtig? Oder ich irre mich und habe irgendwo anders einen Fehler gemacht. Wäre um Hilfe sehr dankbar.</p>
<p>void bubblesort1( int array[], int size) {</p>
<p>int i, temp, PaarSortiert;<br />
do {<br />
PaarSortiert=1;<br />
for(i=0;i&lt;size-1;i++) {<br />
if(array[i-1]&lt;array[i]) {<br />
temp=array[i-1];<br />
array[i-1]=array[i];<br />
array[i]=temp;<br />
PaarSortiert = 0;<br />
}<br />
}<br />
} while (PaarSortiert = 0);<br />
}</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/216725/boublesort-funktion-arbeitet-nicht-richtig</link><generator>RSS for Node</generator><lastBuildDate>Sun, 11 Oct 2026 05:04:19 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/216725.rss" rel="self" type="application/rss+xml"/><pubDate>Fri, 27 Jun 2008 16:57:25 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to BoubleSort Funktion arbeitet nicht richtig. on Fri, 27 Jun 2008 16:57:25 GMT]]></title><description><![CDATA[<p>Hallo ich bin neu hier im Forum. Ich habe mal eine Frage zu einer Funktion, die ich in C geschrieben habe. Es handelt sich dabei um die Doublesourt Sortierung. Ich bin noch Anfänger und dies war eine Aufgabe. Warum funktioniert diese Funktion nicht richtig? Oder ich irre mich und habe irgendwo anders einen Fehler gemacht. Wäre um Hilfe sehr dankbar.</p>
<p>void bubblesort1( int array[], int size) {</p>
<p>int i, temp, PaarSortiert;<br />
do {<br />
PaarSortiert=1;<br />
for(i=0;i&lt;size-1;i++) {<br />
if(array[i-1]&lt;array[i]) {<br />
temp=array[i-1];<br />
array[i-1]=array[i];<br />
array[i]=temp;<br />
PaarSortiert = 0;<br />
}<br />
}<br />
} while (PaarSortiert = 0);<br />
}</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1537106</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1537106</guid><dc:creator><![CDATA[C1B1]]></dc:creator><pubDate>Fri, 27 Jun 2008 16:57:25 GMT</pubDate></item><item><title><![CDATA[Reply to BoubleSort Funktion arbeitet nicht richtig. on Fri, 27 Jun 2008 17:01:37 GMT]]></title><description><![CDATA[<p>nimm das hier als Gedankenstütze<br />
<a href="http://de.wikipedia.org/wiki/Bubblesort" rel="nofollow">http://de.wikipedia.org/wiki/Bubblesort</a></p>
<p>ich persönlich realisiere sowas eig. bevorzugt mit 2 for-schleifen die ineinander geschachtelt sind.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1537109</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1537109</guid><dc:creator><![CDATA[tip]]></dc:creator><pubDate>Fri, 27 Jun 2008 17:01:37 GMT</pubDate></item><item><title><![CDATA[Reply to BoubleSort Funktion arbeitet nicht richtig. on Fri, 27 Jun 2008 18:29:59 GMT]]></title><description><![CDATA[<p>... und dies hier als praktische Anleitung, wenn Du theoretisch nicht weiter kommst:<br />
<a href="http://ittk.falb.at/pt/unterlagen/vcppk/bubble_sort.html" rel="nofollow">http://ittk.falb.at/pt/unterlagen/vcppk/bubble_sort.html</a></p>
<p>Dort wird das Array beispielsweise als Zeiger übergeben, die swap-Funktion liegt außerhalb.</p>
<p>Zeige uns doch mal dein Testprogramm main(...){...}</p>
<p>Hier noch eine typische C++-Umsetzung:<br />
<a href="http://www.ntecs.de/old-hp/s-direktnet/prog_bsp/data/c++/BubbleSort.hpp.html" rel="nofollow">http://www.ntecs.de/old-hp/s-direktnet/prog_bsp/data/c++/BubbleSort.hpp.html</a></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1537137</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1537137</guid><dc:creator><![CDATA[Erhard Henkes]]></dc:creator><pubDate>Fri, 27 Jun 2008 18:29:59 GMT</pubDate></item><item><title><![CDATA[Reply to BoubleSort Funktion arbeitet nicht richtig. on Fri, 27 Jun 2008 18:32:06 GMT]]></title><description><![CDATA[<p>Jetzt habe ich den Pseudocode von wikipedia fast schon abgeschrieben, dennoch zeigt der mit jetzt einfach garkeine Zahlen. Habe einen array mit 7 variablen genommen und jedem irgendeinen Wert gegeben. Der zeigt nach dem kompliieren nichts mehr. Ich finde den Fehler einfach nicht.<br />
Hier das komplette Programm:<br />
#include&lt;stdio.h&gt;</p>
<p>void swap(int x, int y) {<br />
int temp;<br />
x = temp;<br />
x = y;<br />
y = temp;<br />
}</p>
<p>void bubblesort1( int array[], int size) {</p>
<p>int i, temp, PaarSortiert;<br />
do {<br />
PaarSortiert=0;<br />
for(i=1;i&lt;=size-1;i++) {</p>
<p>if(array[i]&gt;array[i+1]) {</p>
<p>swap(array[i],array[i+1]);<br />
PaarSortiert = 1;<br />
}<br />
}<br />
} while ((PaarSortiert == 1)&amp;&amp;(size&gt;=1));<br />
}</p>
<p>main() {<br />
int arr[7], i;<br />
arr[0]=4;<br />
arr[1]=5;<br />
arr[2]=19;<br />
arr[3]=9;<br />
arr[4]=4;<br />
arr[5]=8;<br />
arr[6]=13;</p>
<p>bubblesort1(arr, 7);<br />
for(i=1;i&lt;=7;i++) {<br />
printf(&quot;\n%i&quot;,arr[i-1]);<br />
}<br />
system(&quot;pause&quot;);<br />
}</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1537147</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1537147</guid><dc:creator><![CDATA[C1B1]]></dc:creator><pubDate>Fri, 27 Jun 2008 18:32:06 GMT</pubDate></item><item><title><![CDATA[Reply to BoubleSort Funktion arbeitet nicht richtig. on Fri, 27 Jun 2008 18:35:28 GMT]]></title><description><![CDATA[<p>Ich schreibe wie man sieht in C, bin dabei beides zu lernen und fange mit C an. Macht aber denke ich keinen großen Unterschied.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1537149</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1537149</guid><dc:creator><![CDATA[C1B1]]></dc:creator><pubDate>Fri, 27 Jun 2008 18:35:28 GMT</pubDate></item><item><title><![CDATA[Reply to BoubleSort Funktion arbeitet nicht richtig. on Fri, 27 Jun 2008 18:46:24 GMT]]></title><description><![CDATA[<p>Folgende Schlagwörter solltest du dir nochmal ansehen:</p>
<p>* lokale Variablen (in Funktionen)<br />
* die Verwendung von Zeigern</p>
<p>dann fällt dir auf, was u.a (hab nicht weiter geguckt) falsch ist:</p>
<pre><code class="language-cpp">void swap(int x, int y) {
int temp;
x = temp;
x = y;
y = temp;
}
</code></pre>
<p>p.s. wenn du code postet benutz diese &quot;tags&quot;</p>
<pre><code>[cpp]//mein quellcode [/cpp]
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1537154</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1537154</guid><dc:creator><![CDATA[tip]]></dc:creator><pubDate>Fri, 27 Jun 2008 18:46:24 GMT</pubDate></item><item><title><![CDATA[Reply to BoubleSort Funktion arbeitet nicht richtig. on Fri, 27 Jun 2008 19:01:12 GMT]]></title><description><![CDATA[<p>jo danke werd ich machen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1537162</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1537162</guid><dc:creator><![CDATA[C1B1]]></dc:creator><pubDate>Fri, 27 Jun 2008 19:01:12 GMT</pubDate></item><item><title><![CDATA[Reply to BoubleSort Funktion arbeitet nicht richtig. on Fri, 27 Jun 2008 19:26:01 GMT]]></title><description><![CDATA[<pre><code class="language-cpp">void swap(int *pa, int *pb)
{
   int tmp=*pa;
   *pa=*pb;
   *pb=tmp;
};
</code></pre>
<p>Wie Du siehst werden hier in diesem swap klassische Zeiger aus C (Pointer) verwendet. Nur auf diese Weise werden die von Dir gewünschten Variablen getauscht, in deinem Fall nur Kopien!</p>
<p>Ich hatte hier mal ein Programm geschrieben, das die Unterschiede der einzelnen Techniken nebeneinander zeigt:</p>
<pre><code class="language-cpp">#include &lt;iostream&gt;
#include &lt;conio.h&gt;
using std::cout;
using std::endl;

//globale Variablen
int a = 1; 
int b = 2;

void ausgabe()
{
    cout &lt;&lt; &amp;a &lt;&lt; &quot;: &quot; &lt;&lt; a &lt;&lt; &quot;\t &quot; &lt;&lt; &amp;b &lt;&lt; &quot;: &quot; &lt;&lt; b  &lt;&lt; endl &lt;&lt; endl;
}

void erfolgloser_swap( int x, int y )
{
  cout &lt;&lt; &quot;Kopien auf dem Stack: &quot; &lt;&lt; endl;
  cout &lt;&lt; &amp;x &lt;&lt; &quot;: &quot; &lt;&lt; x &lt;&lt; &quot;\t &quot; &lt;&lt; &amp;y &lt;&lt; &quot;: &quot; &lt;&lt; y &lt;&lt; endl;

  int temp = x;
  x = y;
  y = temp;

  cout &lt;&lt; &amp;x &lt;&lt; &quot;: &quot; &lt;&lt; x &lt;&lt; &quot;\t &quot; &lt;&lt; &amp;y &lt;&lt; &quot;: &quot; &lt;&lt; y &lt;&lt; endl;
  cout &lt;&lt; &quot;swap nur lokal erfolgreich.&quot; &lt;&lt; endl;
}

void zeiger_swap( int * x, int * y ) // C-Lösung
{
  int temp = *x; // Inhalts-Operator // Dereferenzierungs-Operator
  *x = *y;
  *y = temp;
}

void referenzen_swap( int &amp; x, int &amp; y ) // C++-Lösung
{
  int temp = x;
  x = y;
  y = temp;
}

int main()
{ 
    cout &lt;&lt; &quot;Ausgangssituation: &quot; &lt;&lt; endl;
    ausgabe();

    cout &lt;&lt; &quot;Tausch mittels std::swap(x,y): &quot; &lt;&lt; endl;            
    std::swap(a,b); // Methode der Wahl aus der STL
    ausgabe();

    cout &lt;&lt; &quot;Tausch mittels Zeiger: &quot; &lt;&lt; endl;            
    zeiger_swap(&amp;a, &amp;b);
    ausgabe();

    cout &lt;&lt; &quot;Tausch mittels Referenzen: &quot; &lt;&lt; endl;            
    referenzen_swap(a,b);
    ausgabe();

    cout &lt;&lt; &quot;Erfolgloser Tausch, da nur lokale Kopien getauscht werden.&quot; &lt;&lt; endl;            
    erfolgloser_swap(a,b);
    ausgabe();

    cout &lt;&lt; &quot;Tausch mittels Register eax und ebx: &quot; &lt;&lt; endl;         
    //swap (a,b) 
    __asm(&quot;mov _b, %eax&quot;); //AT&amp;T Syntax bei Dev-C++ 
    __asm(&quot;mov _a, %ebx&quot;); 
    __asm(&quot;mov %eax, _a&quot;); 
    __asm(&quot;mov %ebx, _b&quot;); 
    ausgabe(); 

    getch();
}
</code></pre>
<p>Vielleicht hilft Dir dies weiter.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1537169</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1537169</guid><dc:creator><![CDATA[Erhard Henkes]]></dc:creator><pubDate>Fri, 27 Jun 2008 19:26:01 GMT</pubDate></item><item><title><![CDATA[Reply to BoubleSort Funktion arbeitet nicht richtig. on Fri, 27 Jun 2008 19:44:18 GMT]]></title><description><![CDATA[<p>Übrigens gibt es hier eine Auflistung verschieder Sortieralgos in C:<br />
<a href="http://de.wikibooks.org/wiki/Algorithmen_und_Datenstrukturen_in_C" rel="nofollow">http://de.wikibooks.org/wiki/Algorithmen_und_Datenstrukturen_in_C</a></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1537181</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1537181</guid><dc:creator><![CDATA[Erhard Henkes]]></dc:creator><pubDate>Fri, 27 Jun 2008 19:44:18 GMT</pubDate></item><item><title><![CDATA[Reply to BoubleSort Funktion arbeitet nicht richtig. on Fri, 27 Jun 2008 22:12:38 GMT]]></title><description><![CDATA[<p>Ok danke. Ich weiß jetzt auch warum meine eigene Funktion nicht geklappt hat. Jetzt läuft das aber.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1537249</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1537249</guid><dc:creator><![CDATA[C1B1]]></dc:creator><pubDate>Fri, 27 Jun 2008 22:12:38 GMT</pubDate></item><item><title><![CDATA[Reply to BoubleSort Funktion arbeitet nicht richtig. on Sat, 28 Jun 2008 11:00:29 GMT]]></title><description><![CDATA[<blockquote>
<p>Jetzt läuft das aber.</p>
</blockquote>
<p>Freut mich, dass wir Dir helfen konnten.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1537407</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1537407</guid><dc:creator><![CDATA[Erhard Henkes]]></dc:creator><pubDate>Sat, 28 Jun 2008 11:00:29 GMT</pubDate></item></channel></rss>