fork download
  1. #include <iostream>
  2. #include <cmath>
  3.  
  4. using namespace std;
  5.  
  6.  
  7.  
  8. int det(double **A, int m) {
  9. int i, j, d, k, n;
  10. double **p = new double*[m];
  11. for (i = 0; i<m; i++)
  12. p[i] = new double[m];
  13. j = 0; d = 0;
  14. k = 1;
  15. n = m - 1;
  16. if (m<1) cout << "Определитель вычислить невозможно!";
  17. if (m == 1)
  18. {
  19. d = A[0][0];
  20. return(d);
  21. }
  22. if (m == 2)
  23. {
  24. d = A[0][0] * A[1][1] - (A[1][0] * A[0][1]);
  25. return(d);
  26. }
  27. if (m>2)
  28. {
  29. for (i = 0; i<m; i++)
  30. {
  31. rec(A, p, i, 0, m);
  32. d += k * A[i][0] * det(p, n);
  33. k = -k;
  34. }
  35. }
  36. return(d);
  37. }
  38.  
  39.  
  40.  
  41. int main()
  42. {
  43. setlocale(LC_ALL, "Russian");
  44. int m, i, j, d;
  45. cout << "Введите размерность квадратной матрицы: ";
  46. cin >> m;
  47. cout << "Введите матрицу размерностью " << m << "x" << m << endl;
  48. double **A = new double*[m];
  49. for (i = 0; i<m; i++)
  50. {
  51. A[i] = new double[m];
  52. for (j = 0; j<m; j++)
  53. cin >> A[i][j];
  54. }
  55. d = det(A, m);
  56. cout << "Определитель матрицы равен: " << d << endl;
  57. return 0;
  58. }
  59.  
Compilation error #stdin compilation error #stdout 0s 0KB
stdin
2
1
5
4
2
compilation info
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);
                     ^
stdout
Standard output is empty