import eprog.*;
public class Det23 {
public static void main(String[] Args) {
int MatrizenPotenz = 0;
int AnzahlZahlen;
int[] Zahl;
/* Die Matrizen potenz wird eingelesen */
try {
MatrizenPotenz = EprogIO.readInt();
} catch(EprogException e) {
} finally {
/* es wird ueberprueft ob die Potenz der Spetifikation (2 oder3)
entspricht */
if (MatrizenPotenz !=2 && MatrizenPotenz !=3) {
EprogIO.println(" Falsche Eingabe");
System.exit(1);
}
}
/* falls die Eingabe korrekt war wird die Anzahl an Elementen der
Matrizen berechnet und ein entsprehender Array erstellt */
AnzahlZahlen = MatrizenPotenz * MatrizenPotenz;
Zahl = new int[AnzahlZahlen];
/* die Werte fuer die Felder des soeben ersellten Arrays mittels
einer Schleife eingelesen */
for (int Zaehler =0; Zaehler < AnzahlZahlen;Zaehler++) {
while(true) {
try {
Zahl[Zaehler] = EprogIO.readInt();
break;
} catch(EprogException e) {
/* falls versucht wurde der MatrizenPotenz oder einer Zahl
einen falschen DatenTyp zuzuordnen wird folgendes ausgegeben */
EprogIO.println("?");
}
}
}
/* nun wird der Determinant berechnet und ausgegeben , je nachdem es sich
um eine 2*2 oder 3*3 Matrix andelt */
if(MatrizenPotenz == 2) {
EprogIO.println(( Zahl[0]*Zahl[3]- Zahl[1]*Zahl[2] ));
} else {
EprogIO.println(( Zahl[0]*Zahl[4]*Zahl[8]+Zahl[1]*Zahl[5]*Zahl[6]+
Zahl[2]*Zahl[3]*Zahl[7]-Zahl[2]*Zahl[4]*Zahl[6]-
Zahl[1]*Zahl[3]*Zahl[8]-Zahl[0]*Zahl[5]*Zahl[7] ));
}
}
}