#include <iostream>
#include <cmath>
using namespace std;
int det(double **A, int m) {
int i, j, d, k, n;
double **p = new double*[m];
for (i = 0; i<m; i++)
p[i] = new double[m];
j = 0; d = 0;
k = 1;
n = m - 1;
if (m<1) cout << "Определитель вычислить невозможно!";
if (m == 1)
{
d = A[0][0];
return(d);
}
if (m == 2)
{
d = A[0][0] * A[1][1] - (A[1][0] * A[0][1]);
return(d);
}
if (m>2)
{
for (i = 0; i<m; i++)
{
rec(A, p, i, 0, m);
d += k * A[i][0] * det(p, n);
k = -k;
}
}
return(d);
}
int main()
{
setlocale(LC_ALL, "Russian");
int m, i, j, d;
cout << "Введите размерность квадратной матрицы: ";
cin >> m;
cout << "Введите матрицу размерностью " << m << "x" << m << endl;
double **A = new double*[m];
for (i = 0; i<m; i++)
{
A[i] = new double[m];
for (j = 0; j<m; j++)
cin >> A[i][j];
}
d = det(A, m);
cout << "Определитель матрицы равен: " << d << endl;
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8Y21hdGg+Cgp1c2luZyBuYW1lc3BhY2Ugc3RkOwoKCgppbnQgZGV0KGRvdWJsZSAqKkEsIGludCBtKSB7CglpbnQgaSwgaiwgZCwgaywgbjsKCWRvdWJsZSAqKnAgPSBuZXcgZG91YmxlKlttXTsKCWZvciAoaSA9IDA7IGk8bTsgaSsrKQoJCXBbaV0gPSBuZXcgZG91YmxlW21dOwoJaiA9IDA7IGQgPSAwOwoJayA9IDE7CgluID0gbSAtIDE7CglpZiAobTwxKSAgY291dCA8PCAi0J7Qv9GA0LXQtNC10LvQuNGC0LXQu9GMINCy0YvRh9C40YHQu9C40YLRjCDQvdC10LLQvtC30LzQvtC20L3QviEiOwoJaWYgKG0gPT0gMSkKCXsKCQlkID0gQVswXVswXTsKCQlyZXR1cm4oZCk7Cgl9CglpZiAobSA9PSAyKQoJewoJCWQgPSBBWzBdWzBdICogQVsxXVsxXSAtIChBWzFdWzBdICogQVswXVsxXSk7CgkJcmV0dXJuKGQpOwoJfQoJaWYgKG0+MikKCXsKCQlmb3IgKGkgPSAwOyBpPG07IGkrKykKCQl7CgkJCXJlYyhBLCBwLCBpLCAwLCBtKTsKCQkJZCArPSBrICogQVtpXVswXSAqIGRldChwLCBuKTsKCQkJayA9IC1rOwoJCX0KCX0KCXJldHVybihkKTsKfQoKCgppbnQgbWFpbigpCnsKCXNldGxvY2FsZShMQ19BTEwsICJSdXNzaWFuIik7CglpbnQgbSwgaSwgaiwgZDsKCWNvdXQgPDwgItCS0LLQtdC00LjRgtC1INGA0LDQt9C80LXRgNC90L7RgdGC0Ywg0LrQstCw0LTRgNCw0YLQvdC+0Lkg0LzQsNGC0YDQuNGG0Ys6ICI7CgljaW4gPj4gbTsKCWNvdXQgPDwgItCS0LLQtdC00LjRgtC1INC80LDRgtGA0LjRhtGDINGA0LDQt9C80LXRgNC90L7RgdGC0YzRjiAiIDw8IG0gPDwgIngiIDw8IG0gPDwgZW5kbDsKCWRvdWJsZSAqKkEgPSBuZXcgZG91YmxlKlttXTsKCWZvciAoaSA9IDA7IGk8bTsgaSsrKQoJewoJCUFbaV0gPSBuZXcgZG91YmxlW21dOwoJCWZvciAoaiA9IDA7IGo8bTsgaisrKQoJCQljaW4gPj4gQVtpXVtqXTsKCX0KCWQgPSBkZXQoQSwgbSk7Cgljb3V0IDw8ICLQntC/0YDQtdC00LXQu9C40YLQtdC70Ywg0LzQsNGC0YDQuNGG0Ysg0YDQsNCy0LXQvTogIiA8PCBkIDw8IGVuZGw7CglyZXR1cm4gMDsKfQo=
prog.cpp: In function ‘int det(double**, int)’:
prog.cpp:31:21: error: ‘rec’ was not declared in this scope
rec(A, p, i, 0, m);
^