#include <iostream>
using namespace std;
int main(int argc, char** argv) {
int i,j,k,l,n;
int resultado=0,var=1,var2=2,suma=0,resta=0;
cout<<"Ingrese el numero de filas y columnas"<<endl;
cin>>i>>j;
double a[i][j], b[i+2][j];
cout<<"Ingrese los valores de determinantes"<<endl;
for( k=0 ; k<i ; k++ ){
for( l=0 ; l<j; l++){
cin>>a[k][l];
}
}
for( k=0 ; k<i ; k++ ){
for( l=0 ; l<j; l++){
b[k][l]=a[k][l];
}
}
//COpiar A ultimas 2 tuvo que arreglarse con el -1 en b[i+k]
for( k=0 ; k<=1 ; k++ ){
for( l=0 ; l<j; l++){
b[i+k-1][j+l]=a[k][l];
}
}
for ( k=0 ; k<(i+2) ; k++){
for( l=0 ; l<j ; l++){
cout<<b[k][l]<<" ";
}
cout<<endl;
}
//Determinante
n=0;
while (n<i-1){
//filas
for( k=0 ; k<(i+2) ; k++){
//columnas
for( l=0 ; l<j ; l++){
if(k-l==n){
var=var*b[k][l];
//cout<<var<<endl;
}
}
}
suma=suma+var;
var=1;
n++;
}
n=i-1;
while (n<=i+1){
//filas
for( k=0 ; k<(i+2) ; k++){
//columnas
for( l=0 ; l<j ; l++){
if(k+l==n){
var=var*b[k][l];
cout<<var<<endl;
}
}
}
resta=resta-var;
var=1;
n++;
}
system("cls";)
resultado=suma+resta; // resta ya es un numero negativo
cout<<"El determinante es; "<<resultado<<endl;
return 0;
}