<?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[Sortieralgorithmus + Zugriffsverletzung]]></title><description><![CDATA[<p>Hallo,</p>
<p>ich möchte ein Programm schreiben, das einen Array der Laenge 6 mit random-ints belegt und schritt für schritt nach größe ordnet. sobald die &quot;ausgangssituation&quot; erreicht wurde bekomme ich eine nervtötende fehlermeldung, die besagt dass es eine zugriffsverletzung in der funktion in der unten markierten zeile gab.</p>
<p>könnt ihr mir sagen was hier falsch ist und was ich verändern muss?</p>
<pre><code class="language-cpp">#include &lt;iostream&gt;
using namespace std;

void swap(int *a, int *b){

	int temp = *a;
	*a = *b;
	*b = temp;
}

void sort(int* aray, int i){

	for (i; i&lt;i+1; i++) {			//solange i kleiner ist als sein nachfolger

/* --&gt; FehlerZeile --&gt; */if (aray[i] &gt; aray[i+1]) {	//wenn feld des arrays einen kleineren wert besitzt 
									//als sein nachfolger
			swap(aray[i],aray[i+1]); //dann vertausche die arrays

		}

	}
}

int main(){

	int i;

	int* arr = new int[6];		//Erstelle neues array der Laenge 6
	for (i = 0; i&lt;6; i++){		//Belege Felder mit random-integers
		arr[i] = rand();
	}

	cout&lt;&lt;&quot;Ausgangssituation &quot;;	//Ausgangssituation
	for (i = 0; i&lt;6; i++){
		cout&lt;&lt;arr[i]&lt;&lt;&quot; &quot;;
	}

	cout&lt;&lt;&quot; &quot;&lt;&lt; endl;

	for (i=0; i&lt;6; i++){

		sort(arr, i);
		cout&lt;&lt;&quot;Schritt &quot;&lt;&lt;i&lt;&lt;&quot;: &quot;;

		for (int j=0; j&lt;6; j++){
			cout&lt;&lt;arr[j];

		}
		cout&lt;&lt;&quot; &quot;&lt;&lt; endl;
	}

	system(&quot;Pause&quot;);
}
</code></pre>
<p>In der Vergangenheit wurden viele stilistische Dinge in meinen Codes bemängelt, bitte seid gnädig, ich bin nur ein kleiner angehender ingenieur der programmieren lernen will <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/268378/sortieralgorithmus-zugriffsverletzung</link><generator>RSS for Node</generator><lastBuildDate>Tue, 01 Sep 2026 21:04:11 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/268378.rss" rel="self" type="application/rss+xml"/><pubDate>Tue, 08 Jun 2010 11:53:03 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Sortieralgorithmus + Zugriffsverletzung on Tue, 08 Jun 2010 11:53:03 GMT]]></title><description><![CDATA[<p>Hallo,</p>
<p>ich möchte ein Programm schreiben, das einen Array der Laenge 6 mit random-ints belegt und schritt für schritt nach größe ordnet. sobald die &quot;ausgangssituation&quot; erreicht wurde bekomme ich eine nervtötende fehlermeldung, die besagt dass es eine zugriffsverletzung in der funktion in der unten markierten zeile gab.</p>
<p>könnt ihr mir sagen was hier falsch ist und was ich verändern muss?</p>
<pre><code class="language-cpp">#include &lt;iostream&gt;
using namespace std;

void swap(int *a, int *b){

	int temp = *a;
	*a = *b;
	*b = temp;
}

void sort(int* aray, int i){

	for (i; i&lt;i+1; i++) {			//solange i kleiner ist als sein nachfolger

/* --&gt; FehlerZeile --&gt; */if (aray[i] &gt; aray[i+1]) {	//wenn feld des arrays einen kleineren wert besitzt 
									//als sein nachfolger
			swap(aray[i],aray[i+1]); //dann vertausche die arrays

		}

	}
}

int main(){

	int i;

	int* arr = new int[6];		//Erstelle neues array der Laenge 6
	for (i = 0; i&lt;6; i++){		//Belege Felder mit random-integers
		arr[i] = rand();
	}

	cout&lt;&lt;&quot;Ausgangssituation &quot;;	//Ausgangssituation
	for (i = 0; i&lt;6; i++){
		cout&lt;&lt;arr[i]&lt;&lt;&quot; &quot;;
	}

	cout&lt;&lt;&quot; &quot;&lt;&lt; endl;

	for (i=0; i&lt;6; i++){

		sort(arr, i);
		cout&lt;&lt;&quot;Schritt &quot;&lt;&lt;i&lt;&lt;&quot;: &quot;;

		for (int j=0; j&lt;6; j++){
			cout&lt;&lt;arr[j];

		}
		cout&lt;&lt;&quot; &quot;&lt;&lt; endl;
	}

	system(&quot;Pause&quot;);
}
</code></pre>
<p>In der Vergangenheit wurden viele stilistische Dinge in meinen Codes bemängelt, bitte seid gnädig, ich bin nur ein kleiner angehender ingenieur der programmieren lernen will <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/1908827</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1908827</guid><dc:creator><![CDATA[MAX2.0]]></dc:creator><pubDate>Tue, 08 Jun 2010 11:53:03 GMT</pubDate></item><item><title><![CDATA[Reply to Sortieralgorithmus + Zugriffsverletzung on Tue, 08 Jun 2010 11:59:58 GMT]]></title><description><![CDATA[<p>MAX2.0 schrieb:</p>
<blockquote>
<p>Hallo,</p>
<pre><code class="language-cpp">void sort(int* aray, int i){

	for (i; i&lt;i+1; i++) {			//solange i kleiner ist als sein nachfolger
</code></pre>
</blockquote>
<p>Die Bedingung i &lt; i+1 ist immer (naja, sehr lange) wahr.</p>
<p>Lars</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1908832</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1908832</guid><dc:creator><![CDATA[manni66]]></dc:creator><pubDate>Tue, 08 Jun 2010 11:59:58 GMT</pubDate></item><item><title><![CDATA[Reply to Sortieralgorithmus + Zugriffsverletzung on Tue, 08 Jun 2010 12:02:20 GMT]]></title><description><![CDATA[<p>Ich habe jetzt nicht alles durchgelesen, nur die dicksten Hauer:</p>
<pre><code class="language-cpp">for (i; i&lt;i+1; i++) {
</code></pre>
<p>Was glaubst du, wann diese Schleife abbricht?</p>
<pre><code class="language-cpp">swap(aray[i],aray[i+1]);
</code></pre>
<p>Das soll compilieren? Es passt jedenfalls nicht zu deiner swap-Funktion. Zufällig bindet dein Compiler wohl über iostream auch noch std::swap ein, welches hier genommen wird.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1908834</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1908834</guid><dc:creator><![CDATA[SeppJ]]></dc:creator><pubDate>Tue, 08 Jun 2010 12:02:20 GMT</pubDate></item><item><title><![CDATA[Reply to Sortieralgorithmus + Zugriffsverletzung on Tue, 08 Jun 2010 12:03:22 GMT]]></title><description><![CDATA[<p>Es bringt dir mehr, wenn du den Code selber debuggst, denn das gehört zu einem angehendem Ing. auch dazu, dass man Fehler selbst finden kann. (korrekten Stil ebenfalls).</p>
<p>Im übrigen gibt es sehr viele Sortieralgorithmen, welche du anwenden kannst. Wähl doch einen aus und dann findest du genügend Implementierungen, an welche du dich halten kannst.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1908835</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1908835</guid><dc:creator><![CDATA[drakon]]></dc:creator><pubDate>Tue, 08 Jun 2010 12:03:22 GMT</pubDate></item></channel></rss>