Unterprogramm mit Arrays

martin5

Grünschnabel
Hallo Leute,

werke gerade an einem Programm herum das einem Gleichungen löst.
Ich möchte aber die Determinantenberechnung schön ein einem Unterprogramm verstauen (Funktion).
Aber wie?
Hätte es so versucht, leider wird dann die Variable a und b mehrfach deklariert...

Code:
void detdxdy(float, float, float, float, float, float, float &, float &, float &);
void detdxdy(float a[1][1], float a[1][2], float a[2][1], float a[2][2], float b[1], float b[2], float &det, float &dx, float &dy)
{
			det = a[1][1] * a[2][2] - a[2][1] * a[1][2];
			dx  = b[1]   * a[2][2] - b[2]    * a[1][2];
			dy  = b[2]   * a[1][1] - b[1]    * a[2][1];
}
}


Kann mir bitte wer helfen?

Grüße
Martin
 
wenn du "float a[1][1]" als Parameters erwartest, bedeutet das, das ein 2DArray mit 1*1 Ausdehnung erwartet wird.
Was du aber willst, ist vermutlich einfach nur ein "float a11", dies Wär eine Variable die einfach "a11" heißt, aber nur ein "float" Wert beinhaltet.
Außerdem wär es vermutlich schlauer einfach ein "float**" für "a" und ein "float*" für "b" zu übergeben.

Darüber hinaus, hast du vermutlich auch einen Fehler bei der Indexangabe, bei deinen Arrays, den in C/C++ hat das erste Element, den Index "0".

Ich hab vermutlich mehr Fragen aufgewurfen, als gelöst.
Hier sind aber ein paar mehr Probleme, vermutlich im Verständniss, an die du dich machen solltest.


mfg
SGSSGene
 
Zurück