#include #include using namespace std; // Klassendefinition class Matrix_3x3 { private: int m[3][3]; public: Matrix_3x3(); void ausgabe() const; void einlesen(); void set(int value, int i, int j); int get(int i, int j) const; void addieren(const Matrix_3x3 & ref_m); void addieren(const Matrix_3x3 & ref_m1, const Matrix_3x3 & ref_m2); int determinante() const; }; // Konstruktor: 3x3-Matrix initialisieren Matrix_3x3 :: Matrix_3x3() { for(int i=0;i<3;i++) for(int j=0;j<3;j++) m[i][j] = 0; } // Ausgabe der Matrixelemente void Matrix_3x3 :: ausgabe() const { cout << endl; cout << "Ausgabe" << endl; cout << "-------" << endl << endl; for(int i=0;i<3;i++){ for(int j=0;j<3;j++) cout << setw(5) << m[i][j]; cout << endl << endl; } } // zeilenweises Einlesen der Matrixelemente void Matrix_3x3 :: einlesen() { cout << endl << endl; cout << "Einlesen der Matrix" << endl; cout << "-------------------" << endl << endl; for(int i=0;i<3;i++){ cout << "\nGeben Sie die " << i+1 << ". Zeile ein: "; for(int j=0;j<3;j++) cin >> m[i][j]; } } // Setzen eines Wertes an Zeile i und Spalte j void Matrix_3x3 :: set(int value, int i, int j) { m[i][j] = value; } // Ermitteln eines Wertes an Zeile i und Spalte j int Matrix_3x3 :: get(int i, int j) const { return m[i][j]; } // Addition der Matrix ref_m zu aktuellen Matrix void Matrix_3x3 :: addieren(const Matrix_3x3 & ref_m) { for(int i=0;i<3;i++){ for(int j=0;j<3;j++) set(ref_m.get(i,j)+get(i,j),i,j); } } // Addition der Matrizen ref_m1 und ref_m2 sowie Zuweisung zur aktuellen void Matrix_3x3 :: addieren(const Matrix_3x3 & ref_m1, const Matrix_3x3 & ref_m2) { for(int i=0;i<3;i++){ for(int j=0;j<3;j++) set(ref_m1.get(i,j)+ref_m2.get(i,j),i,j); } } // Determinante der Matrix errechnen int Matrix_3x3 :: determinante() const { return m[0][0]*m[1][1]*m[2][2] + m[0][1]*m[1][2]*m[2][0] + m[0][2]*m[1][0]*m[2][1] - m[0][2]*m[1][1]*m[2][0] - m[0][0]*m[1][2]*m[2][1] - m[0][1]*m[1][0]*m[2][2]; } // Hauptprogrammfunktion int main() { Matrix_3x3 matrix1, matrix2, matrix3; matrix1.einlesen(); matrix2.einlesen(); matrix1.addieren(matrix2); matrix1.ausgabe(); cout << "Determinante = " << matrix1.determinante() << endl; matrix3.addieren(matrix1,matrix2); matrix3.ausgabe(); return 0; }