Advertisement
Guest User

Untitled

a guest
May 25th, 2015
270
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 2.61 KB | None | 0 0
  1. #include <iostream>
  2. #include <cstdlib>
  3.  
  4. using namespace std;
  5.  
  6. int main()
  7. {
  8.     setlocale(0, "");
  9.     int m1, n1, m2, n2;
  10.     cout << "Введите размер первой матрицы: " << endl;;
  11.     cin >> m1;
  12.     n1=m1;
  13.     m2=n2=n1;
  14.     int a[m1][n1];
  15.     int b[m2][n2];
  16.     cout << endl;
  17.     cout << "Матрица А:" << endl;
  18.     for (int i=0; i<m1; i++)
  19.     {
  20.         for (int j=0; j<n1; j++)
  21.         {
  22.             a[i][j]=rand()%10+1;
  23.             cout << a[i][j] << "\t";
  24.         }
  25.         cout << endl;
  26.     }
  27.     cout << endl << "Матрица В:" << endl;
  28.     for (int i=0; i<m2; i++)
  29.     {
  30.         for (int j=0; j<n2; j++)
  31.         {
  32.             b[i][j]=rand()%10+1;
  33.             cout << b[i][j] << "\t";
  34.         }
  35.         cout << endl;
  36.     }
  37.     int c[m1][n2];
  38.     int b3[m1][m1];
  39.     for (int i=0; i<m2; i++) //3B
  40.     {
  41.         for (int j=0; j<n2; j++)
  42.         {
  43.             b3[i][j]=3*b[i][j];
  44.         }
  45.     }
  46.  
  47.     for (int row = 0; row < m1; row++) //A*B
  48.     {
  49.         for (int col = 0; col < n2; col++)
  50.         {
  51.             c[row][col]=0;
  52.             for (int inner = 0; inner < n1; inner++)
  53.             {
  54.                 c[row][col] += a[row][inner] * b[inner][col];
  55.             }
  56.         }
  57.     }
  58.     cout << endl;
  59.     int d[m1][n1];
  60.     for (int i=0; i<m1; i++) //3B*A*B
  61.     {
  62.         for (int j=0; j<n1; j++)
  63.         {
  64.             d[i][j]=0;
  65.             for (int k=0; k<n2; k++)
  66.             {
  67.                 d[i][j]+=c[i][k]*a[k][j];
  68.             }
  69.         }
  70.     }
  71.     int e[m1][n1];
  72.     for (int i=0; i<m1; i++) //B*B
  73.     {
  74.         for (int j=0; j<m1; j++)
  75.         {
  76.             e[i][j]=0;
  77.             for (int k=0; k<m1; k++)
  78.             {
  79.                 e[i][j]+=b[i][k]*b[k][j];
  80.             }
  81.         }
  82.     }
  83.     for (int i=0; i<m1; i++) //2A
  84.     {
  85.         for (int j=0; j<m1; j++)
  86.         {
  87.             a[i][j]*=2;
  88.         }
  89.     }
  90.     for (int i=0; i<m1; i++) //2A*(B*B)
  91.     {
  92.         for (int j=0; j<m1; j++)
  93.         {
  94.             b[i][j]=0;
  95.             for (int k=0; k<m1; k++)
  96.             {
  97.                 b[i][j]+=a[i][k]*e[k][j];
  98.             }
  99.         }
  100.     }
  101.     int f[m1][m1];
  102.     for (int i=0; i<m1; i++)
  103.     {
  104.         for (int j=0; j<m1; j++)
  105.         {
  106.             f[i][j]=0;
  107.         }
  108.     }
  109.     cout << "Матрица F=3B*A*B-2A*(B*B)" << endl;
  110.     for (int i=0; i<m1; i++) //3B*A*B-2A*(B*B)
  111.     {
  112.         for (int j=0; j<m1; j++)
  113.         {
  114.             f[i][j]=d[i][j]-b[i][j];
  115.             cout << f[i][i] << "\t";
  116.         }
  117.         cout << endl;
  118.     }
  119.     cin.get();
  120.     cin.get();
  121.     return 0;
  122. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement