#include <iostream>
using namespace std;
template<unsigned size> int wyznacznik (int (&macierz)[size][size])
{
if(size==1) return macierz[0][0];
if(size==2) return macierz[0][0]*macierz[1][1]-macierz[0][1]*macierz[1][0];
return 0;
}
int main()
{
int m1[1][1]={{99}};
int m2[2][2]={{2,3},{4,5}};
cout<<"wyznacznik dla wprowadzonej macierzy to: "<<wyznacznik(m1)<<endl;
cout<<"wyznacznik dla wprowadzonej macierzy to: "<<wyznacznik(m2)<<endl;
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgp1c2luZyBuYW1lc3BhY2Ugc3RkOwoKdGVtcGxhdGU8dW5zaWduZWQgc2l6ZT4gaW50IHd5em5hY3puaWsgKGludCAoJm1hY2llcnopW3NpemVdW3NpemVdKQogIHsKICAgaWYoc2l6ZT09MSkgcmV0dXJuIG1hY2llcnpbMF1bMF07CiAgIGlmKHNpemU9PTIpIHJldHVybiBtYWNpZXJ6WzBdWzBdKm1hY2llcnpbMV1bMV0tbWFjaWVyelswXVsxXSptYWNpZXJ6WzFdWzBdOwogICByZXR1cm4gMDsKICB9CgppbnQgbWFpbigpCiAgewogICBpbnQgbTFbMV1bMV09e3s5OX19OwogICBpbnQgbTJbMl1bMl09e3syLDN9LHs0LDV9fTsKICAgY291dDw8Ind5em5hY3puaWsgZGxhIHdwcm93YWR6b25laiBtYWNpZXJ6eSB0bzogIjw8d3l6bmFjem5payhtMSk8PGVuZGw7CiAgIGNvdXQ8PCJ3eXpuYWN6bmlrIGRsYSB3cHJvd2Fkem9uZWogbWFjaWVyenkgdG86ICI8PHd5em5hY3puaWsobTIpPDxlbmRsOwogICByZXR1cm4gMDsKICB9