Aleksandr_Grigoryev

CW 11.12.2017

Dec 11th, 2017
94
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.03 KB | None | 0 0
  1. #include <iostream>
  2. using namespace std;
  3.  
  4.  
  5. void print(int **a,int n)
  6. {
  7. int i,j;
  8. for (i=0;i<n;i++)
  9. {
  10.     for (j=0;j<n;j++)
  11.     cout<<a[i][j]<<"";
  12.     cout<<endl;
  13. }
  14. }
  15. void matr(int **a, int **b,int i,int j, int n)
  16. {
  17.     int ki,kj,di,dj;
  18.     di=0;
  19.     for (ki=0;ki<n-1;ki++)
  20.     {
  21.         if(ki==i)
  22.             di=1;
  23.     dj=0;
  24.     for (kj=0;kj<n-1;kj++)
  25.     {
  26.         if(kj==j)
  27.             dj=1;
  28.         b[ki][kj]=a[ki+di][kj+dj];
  29. }
  30.     }
  31. }
  32. int OPR(int **a,int n)
  33. {
  34.     int i,j=0,d,k=1,m;
  35.     int **b;
  36.     d=0;
  37.     b=new int *[n];
  38.     for (i=0;i<n;i++)
  39.     b[i]=new int [n];
  40.      n=n-1;
  41.      if (n==2)
  42. {
  43.          d=a[0][0]*a[1][1]-a[0][1]*a[1][0];
  44.         return (d);
  45. }
  46. if (n>2)
  47. {
  48. for (i=0;i<n;i++)
  49. {
  50. matr(a,b,i,0,n);
  51. cout<<a[n][n]<<endl;
  52. print(b,n);
  53. d=d+k*a[i][0]*OPR(b,n);
  54. k=-k;
  55. }
  56. }
  57. return(d);
  58. }
  59. int main ()
  60. {
  61.     int i,j,n,d;
  62.     int **a;
  63.     cin>>n;
  64.     a=new int *[n];
  65.     for (i=0;i<n;i++)
  66.     {
  67.     a[i]=new int [n];
  68.     for (j=0;j<n;j++)
  69.     {
  70.         cout<<"a["<<i<<"]"<<"[">>j<<"]";
  71.     a[i][j]=rand()%5;
  72. }
  73. }
  74.     print(a,n);
  75.         d=OPR(a,n);
  76.         cout<<"Определитель="<<d;
  77.     system ("pause");
  78.     return 0;
  79. }
Advertisement
Add Comment
Please, Sign In to add comment