<?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[Übergabe einer Matrix an eine Funktion]]></title><description><![CDATA[<p>Hallo, wie der Titel bereits sagt, möchte ich eine Funktion schreiben, welche Matrizen als Argument bekommt, konkret: matrizenmultiplikation(A, B).<br />
Nun weiß ich leider nicht, wie ich A und B definieren soll und wie ich diese Funktion aufrufen kann, damit es klappt. Wäre froh, wenn mir jemand weiterhelfen könnte.<br />
mfG,<br />
Matthias</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/118013/übergabe-einer-matrix-an-eine-funktion</link><generator>RSS for Node</generator><lastBuildDate>Fri, 21 Aug 2026 06:27:00 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/118013.rss" rel="self" type="application/rss+xml"/><pubDate>Sat, 13 Aug 2005 18:36:08 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Übergabe einer Matrix an eine Funktion on Sat, 13 Aug 2005 18:36:08 GMT]]></title><description><![CDATA[<p>Hallo, wie der Titel bereits sagt, möchte ich eine Funktion schreiben, welche Matrizen als Argument bekommt, konkret: matrizenmultiplikation(A, B).<br />
Nun weiß ich leider nicht, wie ich A und B definieren soll und wie ich diese Funktion aufrufen kann, damit es klappt. Wäre froh, wenn mir jemand weiterhelfen könnte.<br />
mfG,<br />
Matthias</p>
]]></description><link>https://www.c-plusplus.net/forum/post/851681</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/851681</guid><dc:creator><![CDATA[MatthiasK]]></dc:creator><pubDate>Sat, 13 Aug 2005 18:36:08 GMT</pubDate></item><item><title><![CDATA[Reply to Übergabe einer Matrix an eine Funktion on Sat, 13 Aug 2005 19:08:29 GMT]]></title><description><![CDATA[<p>Nabend,</p>
<p>MatthiasK schrieb:</p>
<blockquote>
<p>Hallo, wie der Titel bereits sagt, möchte ich eine Funktion schreiben, welche Matrizen als Argument bekommt, konkret: matrizenmultiplikation(A, B).<br />
Nun weiß ich leider nicht, wie ich A und B definieren soll und wie ich diese Funktion aufrufen kann, damit es klappt. Wäre froh, wenn mir jemand weiterhelfen könnte.<br />
mfG,<br />
Matthias</p>
</blockquote>
<p>nehmen wir einmal an, du hast eine Klasse &quot;Matrix&quot;, welche eine NxM-Matrix darstellt, dann sieht die<br />
Signatur deiner Funktion z. B. folgendermassen aus:</p>
<pre><code class="language-cpp">Matrix matrizenmultiplikation(const Matrix&amp; a, const Matrix&amp; b);
</code></pre>
<p>mfg<br />
v R</p>
]]></description><link>https://www.c-plusplus.net/forum/post/851692</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/851692</guid><dc:creator><![CDATA[virtuell Realisticer]]></dc:creator><pubDate>Sat, 13 Aug 2005 19:08:29 GMT</pubDate></item><item><title><![CDATA[Reply to Übergabe einer Matrix an eine Funktion on Sat, 13 Aug 2005 19:14:13 GMT]]></title><description><![CDATA[<p>wenn du gerade am C++ lernen bist, dann kannst du dir gleich auch mal Operator Überladung angucken <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>dann kannst du so etwas Schreiben<br />
M = A * B;</p>
<p>google einfach mal danach bzw. guck in einem Buch nach</p>
]]></description><link>https://www.c-plusplus.net/forum/post/851696</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/851696</guid><dc:creator><![CDATA[Vertexwahn]]></dc:creator><pubDate>Sat, 13 Aug 2005 19:14:13 GMT</pubDate></item><item><title><![CDATA[Reply to Übergabe einer Matrix an eine Funktion on Sat, 13 Aug 2005 20:55:07 GMT]]></title><description><![CDATA[<p>Danke erstmal, aber ich habe noch Fragen! Ich denke mal, eine kleine Klasse schreiben könnte ich mittlerweile, aber ich will hier was über Arrays lernen, was ich offensichtlich noch nicht weiß:<br />
Ich möchte mein Ziel nämlich am liebsten folgendermaßen erreichen:</p>
<pre><code class="language-cpp">void matrizenmultiplikation(? A,? B,? C, int k, int l, int m)
{
...
}

int main()
{
int k = ..., l = ..., m = ...;
double A[k][l] = ...;
double B[l][m] = ...;
double C[k][m];

matrizenmultiplikation(? A, ? B, ? C, k, l, m);

return 0;
}
</code></pre>
<p>Kann ich das auf diese Art irgendwie hinkriegen?<br />
mfG,<br />
Matthias</p>
]]></description><link>https://www.c-plusplus.net/forum/post/851739</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/851739</guid><dc:creator><![CDATA[MatthiasK]]></dc:creator><pubDate>Sat, 13 Aug 2005 20:55:07 GMT</pubDate></item><item><title><![CDATA[Reply to Übergabe einer Matrix an eine Funktion on Sun, 14 Aug 2005 08:36:50 GMT]]></title><description><![CDATA[<p>kauf dir ein anständiges C++ Buch <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>aus dem C/C++ Kompendium:</p>
<p>&quot;Wenn Sie aber eine generische Funktion programmieren wollen, die zweidimensionale Arrays mit beliebiger Anzahl von Elementen pro Dimension akzeptieren soll, müssen Sie</p>
<p>1. die Anzahl der Elemente pro Dimension irgendwie als Parameter an die Funktion übergeben,<br />
2. das Array von Arrays (double [][]) in ein Array von Zeigern (int * []) umwandeln. Dieses kann man dann als Zeiger auf Zeiger (int **) übergeben.</p>
<pre><code class="language-cpp">#include &lt;iostream&gt;
using namespace std;

int feld[20][4];
int *ptr[20];

void func(int **feld, int d1, int d2)
{
	int i, j;

	for(i = 0; i &lt; d1; i++)
		for(j = 0; j &lt; d2; j++)
	{
		feld[i][j] = 23;
	}
}

int main()
{
	int i;

	// Array ptr mit Zeigern auf Unter-Arrays initialisieren
	for(i=0; i&lt;20; i++)
		ptr[i] = feld[i];

	func(ptr,20,4);

	for(int x = 0; x &lt; 20; x++)
		for(int y = 0; y &lt; 4; y++)
			cout&lt;&lt;feld[x][y]&lt;&lt;endl;

	system(&quot;pause&quot;);
}
</code></pre>
<p>&quot;</p>
<p>Mach dir das Leben einfach leichter und definier eine Matrix einfach als eindimensionales Array - Beispiel:</p>
<p><a href="http://turing.fh-landshut.de/~jamann/MatrixHtml/_matrix_8h-source.html" rel="nofollow">http://turing.fh-landshut.de/~jamann/MatrixHtml/_matrix_8h-source.html</a></p>
<p>(kannst gleich noch etwas über Template lernen ;))</p>
]]></description><link>https://www.c-plusplus.net/forum/post/851813</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/851813</guid><dc:creator><![CDATA[Vertexwahn]]></dc:creator><pubDate>Sun, 14 Aug 2005 08:36:50 GMT</pubDate></item><item><title><![CDATA[Reply to Übergabe einer Matrix an eine Funktion on Sun, 14 Aug 2005 09:40:03 GMT]]></title><description><![CDATA[<p>Am einfachsten ist es, wenn man in ner OO Sprache das als Klasse realisiert.<br />
Ich persönlich hätte jetzt auch erst nachschlagen müssen um zu schauen wie ich beliebig große Arrays übergebe, aber andererseits ist das auch so gut wie nie notwendig.<br />
Nen 2D Array ist bei mir vector&lt; vector&lt; Typ &gt; &gt;.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/851836</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/851836</guid><dc:creator><![CDATA[User--]]></dc:creator><pubDate>Sun, 14 Aug 2005 09:40:03 GMT</pubDate></item><item><title><![CDATA[Reply to Übergabe einer Matrix an eine Funktion on Sun, 14 Aug 2005 12:47:02 GMT]]></title><description><![CDATA[<p>Vielen Dank, damit bin ich jetzt endgültig zufrieden. <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f921.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--clown_face"
      title=":clown:"
      alt="🤡"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/851944</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/851944</guid><dc:creator><![CDATA[MatthiasK]]></dc:creator><pubDate>Sun, 14 Aug 2005 12:47:02 GMT</pubDate></item><item><title><![CDATA[Reply to Übergabe einer Matrix an eine Funktion on Sun, 14 Aug 2005 12:55:06 GMT]]></title><description><![CDATA[<p>nope. bastel dir einen generischen wrapper um vector&lt;type&gt;!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/851950</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/851950</guid><dc:creator><![CDATA[ness]]></dc:creator><pubDate>Sun, 14 Aug 2005 12:55:06 GMT</pubDate></item></channel></rss>