#include < iostream.h >

// #############################################
// ## Determinaten - Berechnung               ## 
// ## Autor: Dipl.-Ing. Thomas Speiser        ## 
// ## Source from: http://Codes.TurboTools.de ##
// #############################################

void wait()
{
 char c;
 // Nächste Zeile anfangen
 cout << endl;
 cout << "RETURN-Taste betaetigen" << endl;
 cin >> c;
}

int main()
{
 int n = 3;
 int m[n][n];
 int x;
 int y;
 int i = 1;
 int det;
 char c;

 // 3x3 Matrix aufstellen
 for (x = 0; x < n; x++)
     for (y = 0; y < n; y++)
           m[x][y] = i++;

 // Determinate der Matrix laut Göhler S. 6 berechnen
 det = ((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[2][0]*m[1][1]*m[0][2]) + (m[2][1]*m[1][2]*m[0][0]) + (m[2][2]*m[1][0]*m[0][1]));

 
 // Ausgabe      
 for (y = 0; y < n; y++)
 {
     for (x = 0; x < n; x++)
     cout << m[x][y];
 cout << endl;
 }
 cout << endl;
 cout << "Determinante der Matrix ist: " << det;
     
 wait();
 return(0);
}