<?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[Problem mit Arrays und Rechenoperationen]]></title><description><![CDATA[<p>Hi,</p>
<p>ich wollte mir zum Üben ein Programm schreiben, welches Gleichungssysteme mit zwei Unbekannten lösen kann.</p>
<p>Leider bekomm ich am Ende immer eine Fehlermeldung:</p>
<pre><code>Run-Time Check Failure #2 - Stack around the variable 'Koeffizentenmatrix' was corrupted.
</code></pre>
<p>Außerdem wird die erste Variable nicht korrekt berechnet (Zeile 49):</p>
<pre><code>6x-4y=10
4x+2y=44
</code></pre>
<p>Jetzt kommt bei der ersten Ausgabe</p>
<pre><code>0+-7=-67.5
4+ 2=44
</code></pre>
<p>raus!</p>
<p>Richtig wäre</p>
<pre><code>0+-7=-56
4+ 2=44
</code></pre>
<p>Hier der Code:</p>
<pre><code class="language-cpp">#include &lt;iostream&gt;

using namespace std;

int main()
{

	//Variablen werden deklariert
	long double Teiler;
	//Array wird erzeugt
	long double Koeffizentenmatrix [3][2];

	//Layout wird ausgeben
	cout &lt;&lt; &quot;x1 + y1 = Cn1&quot; &lt;&lt; endl;
	cout &lt;&lt; &quot;x2 + y2 = Cn2&quot; &lt;&lt; endl;

	//User wird zur Eingabe veranlasst
	cout &lt;&lt; &quot;x1: &quot; &lt;&lt; flush;
	cin &gt;&gt; Koeffizentenmatrix[1][1];

	cout &lt;&lt; &quot;y1: &quot; &lt;&lt; flush;
	cin &gt;&gt; Koeffizentenmatrix[2][1];

	cout &lt;&lt; &quot;Cn1: &quot; &lt;&lt; flush;
	cin &gt;&gt; Koeffizentenmatrix[3][1];

	cout &lt;&lt; &quot;x2: &quot; &lt;&lt; flush;
	cin &gt;&gt; Koeffizentenmatrix[1][2];

	cout &lt;&lt; &quot;y2: &quot; &lt;&lt; flush;
	cin &gt;&gt; Koeffizentenmatrix[2][2];

	cout &lt;&lt; &quot;Cn2: &quot; &lt;&lt; flush;
	cin &gt;&gt; Koeffizentenmatrix[3][2];

	cout &lt;&lt; endl;

	//Gleichungssystem wird ausgegeben
	cout &lt;&lt; Koeffizentenmatrix[1][1] &lt;&lt; &quot; + &quot; &lt;&lt; Koeffizentenmatrix[2][1] &lt;&lt; &quot; = &quot; &lt;&lt; Koeffizentenmatrix[3][1] &lt;&lt; endl;
	cout &lt;&lt; Koeffizentenmatrix[1][2] &lt;&lt; &quot; + &quot; &lt;&lt; Koeffizentenmatrix[2][2] &lt;&lt; &quot; = &quot; &lt;&lt; Koeffizentenmatrix[3][2] &lt;&lt; endl;
	cout &lt;&lt; endl;

	//Erste Variable wird aufgelöst
	//Kleinster gemeinsamer Teiler wird ermittelt
	Teiler = (Koeffizentenmatrix[1][1]/Koeffizentenmatrix[1][2])*-1;
	//Gesamte erste Zeile wird mit dem kleinsten Teiler (double Teiler) multipliziert
	Koeffizentenmatrix[1][1] = Koeffizentenmatrix [1][1] + (Koeffizentenmatrix[1][2]*Teiler);
	Koeffizentenmatrix[2][1] = Koeffizentenmatrix [2][1] + (Koeffizentenmatrix[2][2]*Teiler);
	Koeffizentenmatrix[3][1] = Koeffizentenmatrix [3][1] + (Koeffizentenmatrix[3][2]*Teiler); //Hier wird das Ergebnis nicht korrekt berechnet

	//Gleichungssystem wird ausgeben
	cout &lt;&lt; Koeffizentenmatrix[1][1] &lt;&lt; &quot; + &quot; &lt;&lt; Koeffizentenmatrix[2][1] &lt;&lt; &quot; = &quot; &lt;&lt; Koeffizentenmatrix[3][1] &lt;&lt; endl;
	cout &lt;&lt; Koeffizentenmatrix[1][2] &lt;&lt; &quot; + &quot; &lt;&lt; Koeffizentenmatrix[2][2] &lt;&lt; &quot; = &quot; &lt;&lt; Koeffizentenmatrix[3][2] &lt;&lt; endl;
	cout &lt;&lt; endl;

	//Zweite Variabel wird aufgelöst
	//Kleinster gemeinsamer Teiler wird ermittelt
	Teiler = Koeffizentenmatrix[2][2]/Koeffizentenmatrix[2][1]*-1;
	//Gesamte weite Zeile wird mit dem kleinsten Teiler (double Teiler) multipliziert
	Koeffizentenmatrix[1][2] = Koeffizentenmatrix [1][2] + (Koeffizentenmatrix[1][1]*Teiler);
	Koeffizentenmatrix[2][2] = Koeffizentenmatrix [2][2] + (Koeffizentenmatrix[2][1]*Teiler);
	Koeffizentenmatrix[3][2] = Koeffizentenmatrix [3][2] + (Koeffizentenmatrix[3][1]*Teiler);

	//Gleichungssystem wird ausgegeben
	cout &lt;&lt; Koeffizentenmatrix[1][1] &lt;&lt; &quot; + &quot; &lt;&lt; Koeffizentenmatrix[2][1] &lt;&lt; &quot; = &quot; &lt;&lt; Koeffizentenmatrix[3][1] &lt;&lt; endl;
	cout &lt;&lt; Koeffizentenmatrix[1][2] &lt;&lt; &quot; + &quot; &lt;&lt; Koeffizentenmatrix[2][2] &lt;&lt; &quot; = &quot; &lt;&lt; Koeffizentenmatrix[3][2] &lt;&lt; endl;
	cout &lt;&lt; endl;

	//Gleichungssystem wird komplett ausgegeben
	Koeffizentenmatrix[3][1] = Koeffizentenmatrix[3][1]/Koeffizentenmatrix[2][1];
	Koeffizentenmatrix[2][1] = 1;
	Koeffizentenmatrix[3][2] = Koeffizentenmatrix[3][2]/Koeffizentenmatrix[1][2];
	Koeffizentenmatrix[1][2] = 1;

	//Gleichungssystem wird ausgegeben
	cout &lt;&lt; Koeffizentenmatrix[1][1] &lt;&lt; &quot; + &quot; &lt;&lt; Koeffizentenmatrix[2][1] &lt;&lt; &quot; = &quot; &lt;&lt; Koeffizentenmatrix[3][1] &lt;&lt; endl;
	cout &lt;&lt; Koeffizentenmatrix[1][2] &lt;&lt; &quot; + &quot; &lt;&lt; Koeffizentenmatrix[2][2] &lt;&lt; &quot; = &quot; &lt;&lt; Koeffizentenmatrix[3][2] &lt;&lt; endl;
	cout &lt;&lt; endl;

	system (&quot;pause&quot;);
	return 0;
}
</code></pre>
<p>Ist nur ein erste Entwurf, Funktionen für die Ausgabe o.ä mach ich später <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>MfG</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/253306/problem-mit-arrays-und-rechenoperationen</link><generator>RSS for Node</generator><lastBuildDate>Sun, 13 Sep 2026 23:18:12 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/253306.rss" rel="self" type="application/rss+xml"/><pubDate>Sat, 31 Oct 2009 14:07:24 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Problem mit Arrays und Rechenoperationen on Sat, 31 Oct 2009 14:12:55 GMT]]></title><description><![CDATA[<p>Hi,</p>
<p>ich wollte mir zum Üben ein Programm schreiben, welches Gleichungssysteme mit zwei Unbekannten lösen kann.</p>
<p>Leider bekomm ich am Ende immer eine Fehlermeldung:</p>
<pre><code>Run-Time Check Failure #2 - Stack around the variable 'Koeffizentenmatrix' was corrupted.
</code></pre>
<p>Außerdem wird die erste Variable nicht korrekt berechnet (Zeile 49):</p>
<pre><code>6x-4y=10
4x+2y=44
</code></pre>
<p>Jetzt kommt bei der ersten Ausgabe</p>
<pre><code>0+-7=-67.5
4+ 2=44
</code></pre>
<p>raus!</p>
<p>Richtig wäre</p>
<pre><code>0+-7=-56
4+ 2=44
</code></pre>
<p>Hier der Code:</p>
<pre><code class="language-cpp">#include &lt;iostream&gt;

using namespace std;

int main()
{

	//Variablen werden deklariert
	long double Teiler;
	//Array wird erzeugt
	long double Koeffizentenmatrix [3][2];

	//Layout wird ausgeben
	cout &lt;&lt; &quot;x1 + y1 = Cn1&quot; &lt;&lt; endl;
	cout &lt;&lt; &quot;x2 + y2 = Cn2&quot; &lt;&lt; endl;

	//User wird zur Eingabe veranlasst
	cout &lt;&lt; &quot;x1: &quot; &lt;&lt; flush;
	cin &gt;&gt; Koeffizentenmatrix[1][1];

	cout &lt;&lt; &quot;y1: &quot; &lt;&lt; flush;
	cin &gt;&gt; Koeffizentenmatrix[2][1];

	cout &lt;&lt; &quot;Cn1: &quot; &lt;&lt; flush;
	cin &gt;&gt; Koeffizentenmatrix[3][1];

	cout &lt;&lt; &quot;x2: &quot; &lt;&lt; flush;
	cin &gt;&gt; Koeffizentenmatrix[1][2];

	cout &lt;&lt; &quot;y2: &quot; &lt;&lt; flush;
	cin &gt;&gt; Koeffizentenmatrix[2][2];

	cout &lt;&lt; &quot;Cn2: &quot; &lt;&lt; flush;
	cin &gt;&gt; Koeffizentenmatrix[3][2];

	cout &lt;&lt; endl;

	//Gleichungssystem wird ausgegeben
	cout &lt;&lt; Koeffizentenmatrix[1][1] &lt;&lt; &quot; + &quot; &lt;&lt; Koeffizentenmatrix[2][1] &lt;&lt; &quot; = &quot; &lt;&lt; Koeffizentenmatrix[3][1] &lt;&lt; endl;
	cout &lt;&lt; Koeffizentenmatrix[1][2] &lt;&lt; &quot; + &quot; &lt;&lt; Koeffizentenmatrix[2][2] &lt;&lt; &quot; = &quot; &lt;&lt; Koeffizentenmatrix[3][2] &lt;&lt; endl;
	cout &lt;&lt; endl;

	//Erste Variable wird aufgelöst
	//Kleinster gemeinsamer Teiler wird ermittelt
	Teiler = (Koeffizentenmatrix[1][1]/Koeffizentenmatrix[1][2])*-1;
	//Gesamte erste Zeile wird mit dem kleinsten Teiler (double Teiler) multipliziert
	Koeffizentenmatrix[1][1] = Koeffizentenmatrix [1][1] + (Koeffizentenmatrix[1][2]*Teiler);
	Koeffizentenmatrix[2][1] = Koeffizentenmatrix [2][1] + (Koeffizentenmatrix[2][2]*Teiler);
	Koeffizentenmatrix[3][1] = Koeffizentenmatrix [3][1] + (Koeffizentenmatrix[3][2]*Teiler); //Hier wird das Ergebnis nicht korrekt berechnet

	//Gleichungssystem wird ausgeben
	cout &lt;&lt; Koeffizentenmatrix[1][1] &lt;&lt; &quot; + &quot; &lt;&lt; Koeffizentenmatrix[2][1] &lt;&lt; &quot; = &quot; &lt;&lt; Koeffizentenmatrix[3][1] &lt;&lt; endl;
	cout &lt;&lt; Koeffizentenmatrix[1][2] &lt;&lt; &quot; + &quot; &lt;&lt; Koeffizentenmatrix[2][2] &lt;&lt; &quot; = &quot; &lt;&lt; Koeffizentenmatrix[3][2] &lt;&lt; endl;
	cout &lt;&lt; endl;

	//Zweite Variabel wird aufgelöst
	//Kleinster gemeinsamer Teiler wird ermittelt
	Teiler = Koeffizentenmatrix[2][2]/Koeffizentenmatrix[2][1]*-1;
	//Gesamte weite Zeile wird mit dem kleinsten Teiler (double Teiler) multipliziert
	Koeffizentenmatrix[1][2] = Koeffizentenmatrix [1][2] + (Koeffizentenmatrix[1][1]*Teiler);
	Koeffizentenmatrix[2][2] = Koeffizentenmatrix [2][2] + (Koeffizentenmatrix[2][1]*Teiler);
	Koeffizentenmatrix[3][2] = Koeffizentenmatrix [3][2] + (Koeffizentenmatrix[3][1]*Teiler);

	//Gleichungssystem wird ausgegeben
	cout &lt;&lt; Koeffizentenmatrix[1][1] &lt;&lt; &quot; + &quot; &lt;&lt; Koeffizentenmatrix[2][1] &lt;&lt; &quot; = &quot; &lt;&lt; Koeffizentenmatrix[3][1] &lt;&lt; endl;
	cout &lt;&lt; Koeffizentenmatrix[1][2] &lt;&lt; &quot; + &quot; &lt;&lt; Koeffizentenmatrix[2][2] &lt;&lt; &quot; = &quot; &lt;&lt; Koeffizentenmatrix[3][2] &lt;&lt; endl;
	cout &lt;&lt; endl;

	//Gleichungssystem wird komplett ausgegeben
	Koeffizentenmatrix[3][1] = Koeffizentenmatrix[3][1]/Koeffizentenmatrix[2][1];
	Koeffizentenmatrix[2][1] = 1;
	Koeffizentenmatrix[3][2] = Koeffizentenmatrix[3][2]/Koeffizentenmatrix[1][2];
	Koeffizentenmatrix[1][2] = 1;

	//Gleichungssystem wird ausgegeben
	cout &lt;&lt; Koeffizentenmatrix[1][1] &lt;&lt; &quot; + &quot; &lt;&lt; Koeffizentenmatrix[2][1] &lt;&lt; &quot; = &quot; &lt;&lt; Koeffizentenmatrix[3][1] &lt;&lt; endl;
	cout &lt;&lt; Koeffizentenmatrix[1][2] &lt;&lt; &quot; + &quot; &lt;&lt; Koeffizentenmatrix[2][2] &lt;&lt; &quot; = &quot; &lt;&lt; Koeffizentenmatrix[3][2] &lt;&lt; endl;
	cout &lt;&lt; endl;

	system (&quot;pause&quot;);
	return 0;
}
</code></pre>
<p>Ist nur ein erste Entwurf, Funktionen für die Ausgabe o.ä mach ich später <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>MfG</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1801172</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1801172</guid><dc:creator><![CDATA[Echoplex]]></dc:creator><pubDate>Sat, 31 Oct 2009 14:12:55 GMT</pubDate></item><item><title><![CDATA[Reply to Problem mit Arrays und Rechenoperationen on Sat, 31 Oct 2009 14:19:18 GMT]]></title><description><![CDATA[<p>Arrayindizes fangen bei 0 an, deshalb zerstörst du dir mit Zugriffen auf Koeffizientenmatrix[3][2] den Stack.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1801179</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1801179</guid><dc:creator><![CDATA[SeppJ]]></dc:creator><pubDate>Sat, 31 Oct 2009 14:19:18 GMT</pubDate></item><item><title><![CDATA[Reply to Problem mit Arrays und Rechenoperationen on Sat, 31 Oct 2009 14:29:08 GMT]]></title><description><![CDATA[<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="😮"
    /><br />
Peinlicher Anfängerfehler</p>
<p>Danke <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f44d.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--thumbs_up"
      title=":+1:"
      alt="👍"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1801185</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1801185</guid><dc:creator><![CDATA[Echoplex]]></dc:creator><pubDate>Sat, 31 Oct 2009 14:29:08 GMT</pubDate></item><item><title><![CDATA[Reply to Problem mit Arrays und Rechenoperationen on Sat, 31 Oct 2009 15:00:32 GMT]]></title><description><![CDATA[<p>Es gibt dann auch noch so etwas wie Schleifen und Funktionen. Versuche, all die Aktionen, die Du jetzt in main durchführst in kleinere Häppchen zu isolieren und diesen Häppchen (Funktionen) einen aussagekräftigen Namen zu geben -- beispielsweise je eine Funktion für eine bestimmte Art von Zeilenoperation.</p>
<p>Gruß,<br />
SP</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1801202</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1801202</guid><dc:creator><![CDATA[Sebastian Pizer]]></dc:creator><pubDate>Sat, 31 Oct 2009 15:00:32 GMT</pubDate></item></channel></rss>