<?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[mehrdimensionale arrays an eine funktion übergeben]]></title><description><![CDATA[<p>Hey,</p>
<p>ich hab folgendes Problem:</p>
<p>Mit dem Programm sollen zwei Matrizen multipliziert werden und diese in ein drittes zweidimensionales Array gespeichert werden.</p>
<p><strong>Fehlermeldung:</strong></p>
<pre><code>1&gt;------ Erstellen gestartet: Projekt: Aufgabe19, Konfiguration: Debug Win32 ------
1&gt;Kompilieren...
1&gt;main.cpp
1&gt;c:\dokumente und einstellungen\weedjo\desktop\praktikum1\aufgabe19\aufgabe19\main.cpp(10) : error C2109: Index erfordert ein Array oder einen Zeigertyp
1&gt;c:\dokumente und einstellungen\weedjo\desktop\praktikum1\aufgabe19\aufgabe19\main.cpp(10) : error C2109: Index erfordert ein Array oder einen Zeigertyp
1&gt;c:\dokumente und einstellungen\weedjo\desktop\praktikum1\aufgabe19\aufgabe19\main.cpp(10) : error C2109: Index erfordert ein Array oder einen Zeigertyp
1&gt;c:\dokumente und einstellungen\weedjo\desktop\praktikum1\aufgabe19\aufgabe19\main.cpp(60) : error C2664: 'multiplizieren': Konvertierung des Parameters 1 von 'double (*__w64 )[4][1]' in 'double *' nicht möglich
1&gt;        Die Typen, auf die verwiesen wird, sind nicht verknüpft; die Konvertierung erfordert einen reinterpret_cast-Operator oder eine Typumwandlung im C- oder Funktionsformat.
1&gt;Das Buildprotokoll wurde unter &quot;file://c:\Dokumente und Einstellungen\Weedjo\Desktop\Praktikum1\Aufgabe19\Aufgabe19\Debug\BuildLog.htm&quot; gespeichert.
1&gt;Aufgabe19 - 4 Fehler, 0 Warnung(en)
========== Erstellen: 0 erfolgreich, Fehler bei 1, 0 aktuell, 0 übersprungen ==========
</code></pre>
<p><strong>Das ist die Funktion:</strong></p>
<pre><code>void multiplizieren(double *C, double *B,double *A){
	for (int i=0;i&lt;4;i++)
		for (int j=0;j&lt;4;j++)
			*C[i][0] += *B[i][j]* (*A[j][0]);
}
</code></pre>
<p><strong>Und das ist der Aufruf in der main() Methode:</strong></p>
<pre><code>multiplizieren(&amp;ergebnisArray, &amp;alpha, &amp;eingabeArray);
</code></pre>
<p>Und falls jemand noch braucht, hier nochmal der Ganze Code:</p>
<pre><code>#include &lt;iostream&gt;
#include &lt;cmath&gt;
using namespace std;

void multiplizieren(double *C, double *B,double *A){
	for (int i=0;i&lt;4;i++)
		for (int j=0;j&lt;4;j++)
			C[i][0] += B[i][j]* (A[j][0]);
}

int main(){
	//VARIABLENDEKLARATION
	const double PI=3.1415926535897932384626433832795;
	double x,y,z, winkel;
	double ergebnisArray[4][1] = {0};
	double f,g,h;

	//EINGABE
	cout &lt;&lt; &quot;Koordinaten eingeben:\n&quot;;

	cout &lt;&lt; &quot;x= &quot;;
	cin &gt;&gt; x;

	cout &lt;&lt; &quot;y= &quot;;
	cin &gt;&gt; y;

	cout &lt;&lt; &quot;z= &quot;;
	cin &gt;&gt; z;

	cout &lt;&lt; &quot;Winkel eingeben (Grad Bogenmass): &quot;;
	cin &gt;&gt; winkel;
	f = cos(winkel*PI/180);
	g = -(sin(winkel*PI/180));
	h = sin(winkel*PI/180);

	if (f&lt;0.01 &amp;&amp; f&gt;-0.01)
		f=0;
	if (g&lt;0.01 &amp;&amp; g&gt;-0.01)
		g=0;
	if (h&lt;0.01 &amp;&amp; h&gt;-0.01)
		h=0;

	double alpha[4][4] =	 {
							{1, 0, 0, 0},
							{0, f ,g, 0},
							{0, h, f, 0},
							{0, 0 ,0 ,1}
						 };

	double eingabeArray[4][1] = {
						{x},
						{y},
						{z},
						{1}
					};

	multiplizieren(&amp;ergebnisArray, &amp;alpha, &amp;eingabeArray);

	//AUSGABE
	cout.precision(3);
	cout &lt;&lt; &quot;Rotation um &quot; &lt;&lt; winkel &lt;&lt; &quot; Grad liefert: \n&quot;;

	cout &lt;&lt; &quot;x= &quot; &lt;&lt; ergebnisArray[0][0] &lt;&lt; endl;
	cout &lt;&lt; &quot;y= &quot; &lt;&lt; ergebnisArray[1][0] &lt;&lt; endl;
	cout &lt;&lt; &quot;z= &quot; &lt;&lt; ergebnisArray[2][0] &lt;&lt; endl;

	return 0;
}
</code></pre>
<p>Wie kriege ich den Fehler weg?<br />
Danke für die Hilfe <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/230869/mehrdimensionale-arrays-an-eine-funktion-übergeben</link><generator>RSS for Node</generator><lastBuildDate>Sun, 27 Sep 2026 03:27:19 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/230869.rss" rel="self" type="application/rss+xml"/><pubDate>Sat, 03 Jan 2009 12:51:04 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to mehrdimensionale arrays an eine funktion übergeben on Sat, 03 Jan 2009 12:51:04 GMT]]></title><description><![CDATA[<p>Hey,</p>
<p>ich hab folgendes Problem:</p>
<p>Mit dem Programm sollen zwei Matrizen multipliziert werden und diese in ein drittes zweidimensionales Array gespeichert werden.</p>
<p><strong>Fehlermeldung:</strong></p>
<pre><code>1&gt;------ Erstellen gestartet: Projekt: Aufgabe19, Konfiguration: Debug Win32 ------
1&gt;Kompilieren...
1&gt;main.cpp
1&gt;c:\dokumente und einstellungen\weedjo\desktop\praktikum1\aufgabe19\aufgabe19\main.cpp(10) : error C2109: Index erfordert ein Array oder einen Zeigertyp
1&gt;c:\dokumente und einstellungen\weedjo\desktop\praktikum1\aufgabe19\aufgabe19\main.cpp(10) : error C2109: Index erfordert ein Array oder einen Zeigertyp
1&gt;c:\dokumente und einstellungen\weedjo\desktop\praktikum1\aufgabe19\aufgabe19\main.cpp(10) : error C2109: Index erfordert ein Array oder einen Zeigertyp
1&gt;c:\dokumente und einstellungen\weedjo\desktop\praktikum1\aufgabe19\aufgabe19\main.cpp(60) : error C2664: 'multiplizieren': Konvertierung des Parameters 1 von 'double (*__w64 )[4][1]' in 'double *' nicht möglich
1&gt;        Die Typen, auf die verwiesen wird, sind nicht verknüpft; die Konvertierung erfordert einen reinterpret_cast-Operator oder eine Typumwandlung im C- oder Funktionsformat.
1&gt;Das Buildprotokoll wurde unter &quot;file://c:\Dokumente und Einstellungen\Weedjo\Desktop\Praktikum1\Aufgabe19\Aufgabe19\Debug\BuildLog.htm&quot; gespeichert.
1&gt;Aufgabe19 - 4 Fehler, 0 Warnung(en)
========== Erstellen: 0 erfolgreich, Fehler bei 1, 0 aktuell, 0 übersprungen ==========
</code></pre>
<p><strong>Das ist die Funktion:</strong></p>
<pre><code>void multiplizieren(double *C, double *B,double *A){
	for (int i=0;i&lt;4;i++)
		for (int j=0;j&lt;4;j++)
			*C[i][0] += *B[i][j]* (*A[j][0]);
}
</code></pre>
<p><strong>Und das ist der Aufruf in der main() Methode:</strong></p>
<pre><code>multiplizieren(&amp;ergebnisArray, &amp;alpha, &amp;eingabeArray);
</code></pre>
<p>Und falls jemand noch braucht, hier nochmal der Ganze Code:</p>
<pre><code>#include &lt;iostream&gt;
#include &lt;cmath&gt;
using namespace std;

void multiplizieren(double *C, double *B,double *A){
	for (int i=0;i&lt;4;i++)
		for (int j=0;j&lt;4;j++)
			C[i][0] += B[i][j]* (A[j][0]);
}

int main(){
	//VARIABLENDEKLARATION
	const double PI=3.1415926535897932384626433832795;
	double x,y,z, winkel;
	double ergebnisArray[4][1] = {0};
	double f,g,h;

	//EINGABE
	cout &lt;&lt; &quot;Koordinaten eingeben:\n&quot;;

	cout &lt;&lt; &quot;x= &quot;;
	cin &gt;&gt; x;

	cout &lt;&lt; &quot;y= &quot;;
	cin &gt;&gt; y;

	cout &lt;&lt; &quot;z= &quot;;
	cin &gt;&gt; z;

	cout &lt;&lt; &quot;Winkel eingeben (Grad Bogenmass): &quot;;
	cin &gt;&gt; winkel;
	f = cos(winkel*PI/180);
	g = -(sin(winkel*PI/180));
	h = sin(winkel*PI/180);

	if (f&lt;0.01 &amp;&amp; f&gt;-0.01)
		f=0;
	if (g&lt;0.01 &amp;&amp; g&gt;-0.01)
		g=0;
	if (h&lt;0.01 &amp;&amp; h&gt;-0.01)
		h=0;

	double alpha[4][4] =	 {
							{1, 0, 0, 0},
							{0, f ,g, 0},
							{0, h, f, 0},
							{0, 0 ,0 ,1}
						 };

	double eingabeArray[4][1] = {
						{x},
						{y},
						{z},
						{1}
					};

	multiplizieren(&amp;ergebnisArray, &amp;alpha, &amp;eingabeArray);

	//AUSGABE
	cout.precision(3);
	cout &lt;&lt; &quot;Rotation um &quot; &lt;&lt; winkel &lt;&lt; &quot; Grad liefert: \n&quot;;

	cout &lt;&lt; &quot;x= &quot; &lt;&lt; ergebnisArray[0][0] &lt;&lt; endl;
	cout &lt;&lt; &quot;y= &quot; &lt;&lt; ergebnisArray[1][0] &lt;&lt; endl;
	cout &lt;&lt; &quot;z= &quot; &lt;&lt; ergebnisArray[2][0] &lt;&lt; endl;

	return 0;
}
</code></pre>
<p>Wie kriege ich den Fehler weg?<br />
Danke für die Hilfe <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/1638756</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1638756</guid><dc:creator><![CDATA[Weedjo]]></dc:creator><pubDate>Sat, 03 Jan 2009 12:51:04 GMT</pubDate></item><item><title><![CDATA[Reply to mehrdimensionale arrays an eine funktion übergeben on Sat, 03 Jan 2009 12:55:18 GMT]]></title><description><![CDATA[<p>Ich denke, dass du die Antwort hier finden solltest:<br />
<a href="http://www.c-plusplus.net/forum/viewtopic-var-t-is-212469-and-highlight-is-array+2+dimensionales.html" rel="nofollow">http://www.c-plusplus.net/forum/viewtopic-var-t-is-212469-and-highlight-is-array+2+dimensionales.html</a></p>
<p>Und das nächste mal bitte noch die Stelle kennzeichnen, wo die Fehler vorkommen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1638758</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1638758</guid><dc:creator><![CDATA[drakon]]></dc:creator><pubDate>Sat, 03 Jan 2009 12:55:18 GMT</pubDate></item></channel></rss>