<?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[Matrix-Multiplikation (Falsches Ergebnis)]]></title><description><![CDATA[<p>Hallo Leute,<br />
vorneweg möchte ich mich entschuldigen, wenn ich trotz mehrfacher Suche diese Frage unnötig ins Forum setze. Ich muss eine Matrix*Matrix-Multiplikation und Matrix*Vektor-Multiplikation durchführen aber schon bei Matrix*Matrix habe ich meine Probleme. Die Matrizen werden zufällig generiert aber das Produkt liefert ein falsches Ergebnis. Ich bin leider kein guter bzw. kein erfahrener Programmierer, deshlab wäre ich für eure Hilfe sehr sehr dankbar</p>
<pre><code class="language-cpp">#include &lt;iostream&gt;
#include &lt;stdlib.h&gt;
using namespace std;

int main(void)
{
	int mat[10][10];
	int mat2[10][10];
	int erg[10][10];
	int dim;
	int i=0,j=0, k=0;
	int RANGE_MIN = 0;
    int RANGE_MAX = 2;

std::cout&lt;&lt;&quot;Bitte Anzahl der Reihen :&quot;&lt;&lt;endl;
 std::cin&gt;&gt;dim;
std::cout&lt;&lt;&quot;Matrix 1:&quot;&lt;&lt;endl;
for (i=1;i&lt;=dim;i++)
 {
  for (j=1;j&lt;=dim;j++)
  {
   mat[i][j]=(( (double) rand() /(double) RAND_MAX) * RANGE_MAX + RANGE_MIN);
   std::cout&lt;&lt;&quot;\t&quot;&lt;&lt;mat[i][j];
  }
  std::cout&lt;&lt;&quot;\n&quot;&lt;&lt;endl;

 }

std::cout&lt;&lt;&quot;Matrix 2:&quot;&lt;&lt;endl;
for (i=1;i&lt;=dim;i++)
 {
  for (j=1;j&lt;=dim;j++)
  {
   mat2[i][j]=(((double) rand() /(double) RAND_MAX) * RANGE_MAX + RANGE_MIN);
   std::cout&lt;&lt;&quot;\t&quot;&lt;&lt;mat2[i][j];
  }
  std::cout&lt;&lt;&quot;\n&quot;&lt;&lt;endl;

 }

std::cout&lt;&lt;&quot;Produkt:&quot;&lt;&lt;endl;
 for (i=0; i&lt;dim; i++) 
 {
      for (j=0; j&lt;dim; j++)
	  {
        erg[i][j] = 0;
        for ( k=0; k&lt;dim; k++)
          erg[i][j]+= mat[i][k]*mat2[k][j];
        std::cout&lt;&lt;&quot;\t&quot;&lt;&lt;erg[i][j];
	  }
	  std::cout&lt;&lt;&quot;\n&quot;&lt;&lt;endl;
 }

return 0;

}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/topic/162724/matrix-multiplikation-falsches-ergebnis</link><generator>RSS for Node</generator><lastBuildDate>Sat, 12 Sep 2026 20:00:33 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/162724.rss" rel="self" type="application/rss+xml"/><pubDate>Sun, 22 Oct 2006 13:40:31 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Matrix-Multiplikation (Falsches Ergebnis) on Sun, 22 Oct 2006 13:40:31 GMT]]></title><description><![CDATA[<p>Hallo Leute,<br />
vorneweg möchte ich mich entschuldigen, wenn ich trotz mehrfacher Suche diese Frage unnötig ins Forum setze. Ich muss eine Matrix*Matrix-Multiplikation und Matrix*Vektor-Multiplikation durchführen aber schon bei Matrix*Matrix habe ich meine Probleme. Die Matrizen werden zufällig generiert aber das Produkt liefert ein falsches Ergebnis. Ich bin leider kein guter bzw. kein erfahrener Programmierer, deshlab wäre ich für eure Hilfe sehr sehr dankbar</p>
<pre><code class="language-cpp">#include &lt;iostream&gt;
#include &lt;stdlib.h&gt;
using namespace std;

int main(void)
{
	int mat[10][10];
	int mat2[10][10];
	int erg[10][10];
	int dim;
	int i=0,j=0, k=0;
	int RANGE_MIN = 0;
    int RANGE_MAX = 2;

std::cout&lt;&lt;&quot;Bitte Anzahl der Reihen :&quot;&lt;&lt;endl;
 std::cin&gt;&gt;dim;
std::cout&lt;&lt;&quot;Matrix 1:&quot;&lt;&lt;endl;
for (i=1;i&lt;=dim;i++)
 {
  for (j=1;j&lt;=dim;j++)
  {
   mat[i][j]=(( (double) rand() /(double) RAND_MAX) * RANGE_MAX + RANGE_MIN);
   std::cout&lt;&lt;&quot;\t&quot;&lt;&lt;mat[i][j];
  }
  std::cout&lt;&lt;&quot;\n&quot;&lt;&lt;endl;

 }

std::cout&lt;&lt;&quot;Matrix 2:&quot;&lt;&lt;endl;
for (i=1;i&lt;=dim;i++)
 {
  for (j=1;j&lt;=dim;j++)
  {
   mat2[i][j]=(((double) rand() /(double) RAND_MAX) * RANGE_MAX + RANGE_MIN);
   std::cout&lt;&lt;&quot;\t&quot;&lt;&lt;mat2[i][j];
  }
  std::cout&lt;&lt;&quot;\n&quot;&lt;&lt;endl;

 }

std::cout&lt;&lt;&quot;Produkt:&quot;&lt;&lt;endl;
 for (i=0; i&lt;dim; i++) 
 {
      for (j=0; j&lt;dim; j++)
	  {
        erg[i][j] = 0;
        for ( k=0; k&lt;dim; k++)
          erg[i][j]+= mat[i][k]*mat2[k][j];
        std::cout&lt;&lt;&quot;\t&quot;&lt;&lt;erg[i][j];
	  }
	  std::cout&lt;&lt;&quot;\n&quot;&lt;&lt;endl;
 }

return 0;

}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1159076</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1159076</guid><dc:creator><![CDATA[NuCoder]]></dc:creator><pubDate>Sun, 22 Oct 2006 13:40:31 GMT</pubDate></item><item><title><![CDATA[Reply to Matrix-Multiplikation (Falsches Ergebnis) on Mon, 23 Oct 2006 06:22:28 GMT]]></title><description><![CDATA[<p>Als Anfänegr würde ich mal behaupten, dass deine beiden ersten schleifen auch bei 0 und nicht bei 1 beginnen sollten, oder?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1159295</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1159295</guid><dc:creator><![CDATA[Shinja]]></dc:creator><pubDate>Mon, 23 Oct 2006 06:22:28 GMT</pubDate></item><item><title><![CDATA[Reply to Matrix-Multiplikation (Falsches Ergebnis) on Mon, 23 Oct 2006 06:26:11 GMT]]></title><description><![CDATA[<p>Shinja schrieb:</p>
<blockquote>
<p>Als Anfänegr würde ich mal behaupten, dass deine beiden ersten schleifen auch bei 0 und nicht bei 1 beginnen sollten, oder?</p>
</blockquote>
<p>Yepp, zumindest wenn man davon ausgeht, dass der User beides mal 10 eingibt, kriegst du Probleme, weil du das erste Element nicht multiplizierst und auf das 11. Element zugreifen willst, das gehört dir aber nicht.<br />
Im Übrigen würd ich die Userabfrage eh rausschmeißen, wenn deine Matrizen sowieso statisch sind.</p>
<p>MfG</p>
<p>GPC</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1159296</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1159296</guid><dc:creator><![CDATA[GPC]]></dc:creator><pubDate>Mon, 23 Oct 2006 06:26:11 GMT</pubDate></item><item><title><![CDATA[Reply to Matrix-Multiplikation (Falsches Ergebnis) on Mon, 23 Oct 2006 17:33:48 GMT]]></title><description><![CDATA[<p>Danke für die Hinweise aber wenn ich beide Indizen auf 0 setze dann bekomme ich z.B. bei einer 3*3 Matrix als Ergebnis ein 2*2-Matrix und das kann auch nicht richtig sein <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f615.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--confused_face"
      title=":confused:"
      alt="😕"
    /> <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f615.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--confused_face"
      title=":confused:"
      alt="😕"
    /> ??????<br />
Userabfrage muss ich drin lassen weil die Dimension frei wählbar sein muss!!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1159809</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1159809</guid><dc:creator><![CDATA[NuCoder]]></dc:creator><pubDate>Mon, 23 Oct 2006 17:33:48 GMT</pubDate></item><item><title><![CDATA[Reply to Matrix-Multiplikation (Falsches Ergebnis) on Mon, 23 Oct 2006 17:40:10 GMT]]></title><description><![CDATA[<p>NuCoder schrieb:</p>
<blockquote>
<p>Danke für die Hinweise aber wenn ich beide Indizen auf 0 setze dann bekomme ich z.B. bei einer 3*3 Matrix als Ergebnis ein 2*2-Matrix und das kann auch nicht richtig sein <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f615.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--confused_face"
      title=":confused:"
      alt="😕"
    /> <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f615.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--confused_face"
      title=":confused:"
      alt="😕"
    /> ??????</p>
</blockquote>
<p>ne. errr, hast du auch die obere Grenze der Schleifen verändert (&lt;dim statt &lt;=dim)?</p>
<blockquote>
<p>Userabfrage muss ich drin lassen weil die Dimension frei wählbar sein muss!!</p>
</blockquote>
<p>hehe, cool. Aber dann schau wenigstens, dass der User nicht 15 eingibt <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f603.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--grinning_face_with_big_eyes"
      title=":D"
      alt="😃"
    /></p>
<p>Poste bitte den aktuellen Code.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1159816</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1159816</guid><dc:creator><![CDATA[GPC]]></dc:creator><pubDate>Mon, 23 Oct 2006 17:40:10 GMT</pubDate></item><item><title><![CDATA[Reply to Matrix-Multiplikation (Falsches Ergebnis) on Mon, 23 Oct 2006 17:46:24 GMT]]></title><description><![CDATA[<p>es war mein Fehler. Ich habe bei der Multiplikation, für die For-Schleife-Bedingung nicht &lt;=dim gemacht sondern nur &lt;dim . Jetzt mit der Änderung klappts 1A.</p>
<p>Ich danke dir <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="😉"
    /> <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/1159826</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1159826</guid><dc:creator><![CDATA[NuCoder]]></dc:creator><pubDate>Mon, 23 Oct 2006 17:46:24 GMT</pubDate></item></channel></rss>