ich will mit diesem Programm gern ne inverse matrix berechnen aber das funktioniert nicht kann mir wer sagen warum???
C++:
#include<iostream> usingnamespace std;
double invmat( int mat[2][2])
int main () { int mat [2][2];
cout<< "Programm invmat.cpp"<<endl<<endl; cout<<"Geben sie bitte den Wert für den ersten Eintrag in der ersten Zeile an:"; cin>>mat[0][0]; cout<<"2.Eintrag 1.Zeile:"; cin>>mat[0][1]; cout<<"1.Eintrag 2.Zeile:"; cin>>mat[1][0]; cout<<"2.Eintrag 2.Zeile:"; cin>>mat[1][1];
return0; }
double invmat(int mat [2][2]) { double det =mat[0][0]*mat[1][1]-mat[0][1]*mat[1][0]; double a =1/(det);
Da ist ein Syntaxfehler ganz am Ende (das double muss da weg), außerdem überschreibst du Elemente, bevor du sie benutzt. Dementsprechend werden da bereits die neuen Werte benutzt, und du bekommst am Ende Unfug raus. -- Einfachheit ist Voraussetzung für Zuverlässigkeit. -- Edsger Wybe Dijkstra
Ehm also du hast eine int array und willst ihn als double zurück geben? Da liegt dein Fehler :P Und das du halt, wie beefy schon sagte, die Werte überschreibst bevor du sie nutzt.