Advertisement
Guest User

Untitled

a guest
Apr 23rd, 2019
80
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.56 KB | None | 0 0
  1. #include <iostream>
  2. #include <math.h>
  3. #include <fstream>
  4. using namespace std;
  5. int d = 0;
  6. ifstream f("prob3.in");
  7. ofstream g("prob3.out");
  8. int prim(int a)
  9. {
  10. if (a < 2)
  11. return 0;
  12. for (int i = 2; i * i <= a; i++)
  13. if (a % i == 0)
  14. return 0;
  15. return 1;
  16. }
  17. int determinant(int matrix[10][10], int n)
  18. {
  19. int det = 0;
  20. int submatrix[10][10];
  21. if (n == 2)
  22.  
  23. return ((matrix[0][0] * matrix[1][1]) - (matrix[1][0] * matrix[0][1]));
  24.  
  25. else {
  26. for (int x = 0; x < n; x++) {
  27. int subi = 0;
  28. for (int i = 1; i < n; i++) {
  29. int subj = 0;
  30. for (int j = 0; j < n; j++) {
  31. if (j == x)
  32. continue;
  33. submatrix[subi][subj] = matrix[i][j];
  34. subj++;
  35. }
  36. subi++;
  37. }
  38. det = det + (pow(-1, x) * matrix[0][x] * determinant(submatrix, n - 1));
  39. d++;
  40. }
  41. }
  42. return det;
  43. }
  44. int main()
  45. {
  46. int n, i, j, y;
  47. int matrix[10][10];
  48.  
  49. f >> n;
  50.  
  51. for (i = 0; i < n; i++) {
  52. for (j = 0; j < n; j++) {
  53.  
  54. f >> matrix[i][j];
  55. }
  56. }
  57. g << " Ati introdus matricea" << endl;
  58. for (i = 0; i < n; i++) {
  59. for (j = 0; j < n; j++)
  60. g << matrix[i][j] << " ";
  61. g << endl;
  62. }
  63.  
  64. int k = 0;
  65. y = determinant(matrix, n);
  66. g << " Determinantul : " << y << endl;
  67. g << " Numarul de apeluri la functie : " << d + 1 << endl;
  68.  
  69. return 0;
  70. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement