Advertisement
RobertDeMilo

Произведение матриц

Jun 8th, 2024
70
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 0.84 KB | None | 0 0
  1. Cij = (k=1,n)Σ Aik Bkj
  2.  
  3. #include <iostream>
  4. #include <iomanip>
  5. #include <vector>
  6.  
  7. using namespace std;
  8.  
  9. vector<vector<int>> MatrixMultiplication(const vector<vector<int>>& A, const vector<vector<int>>& B)
  10. {
  11.     vector<vector<int>> C(A.size());
  12.  
  13.     for (int i = 0; i < A.size(); ++i)
  14.     {
  15.         C[i].resize(A.size());
  16.  
  17.         for (int j = 0; j < A.size(); ++j)
  18.         {
  19.             C[i][j] = 0;
  20.  
  21.             for (int k = 0; k < A.size(); k++)
  22.             {
  23.                 C[i][j] += A[i][k] * B[k][j];
  24.             }
  25.         }
  26.     }
  27.     return C;
  28. }
  29.  
  30. int main()
  31. {
  32.     vector<vector<int>> A = { {1,-2,1}, {2,0,-1}, {2,3,-1} };
  33.     vector<vector<int>> B = { {2,1,-1}, {1,3, 1}, {-2,1,4} };
  34.  
  35.     vector<vector<int>> C = MatrixMultiplication(A, B);
  36.  
  37.     for (int i = 0; i < C.size(); ++i)
  38.     {
  39.         for (int j = 0; j < C[0].size(); ++j)
  40.         {
  41.             cout << setw(2) << C[i][j] << " ";
  42.         }
  43.         cout << endl;
  44.     }
  45.  
  46.     return 0;
  47. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement