Advertisement
Josif_tepe

Untitled

Apr 11th, 2024
809
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 2.18 KB | None | 0 0
  1. #include <iostream>
  2. #include <vector>
  3. #include <queue>
  4. using namespace std;
  5. typedef long long ll;
  6. typedef vector<vector<int>> matrix;
  7. const int maxn = 1e5 + 10;
  8. const int INF = 2e9;
  9.  
  10. matrix multiply_by_k(matrix A, int k) {
  11.     matrix res = A;
  12.     int n = (int) A.size(), m = (int) A[0].size();
  13.    
  14.     for(int i = 0; i < n; i++) {
  15.         for(int j = 0; j < m; j++) {
  16.             res[i][j] *= k;
  17.         }
  18.     }
  19.     return res;
  20. }
  21. matrix add_two_matrices(matrix A, matrix B) {
  22.     int n_a = (int) A.size(), m_a = (int) A[0].size();
  23.     int n_b = (int) B.size(), m_b = (int) B[0].size();
  24.    
  25.     if(n_a == n_b and m_a == m_b) {
  26.         matrix res = A;
  27.         for(int i = 0; i < n_a; i++) {
  28.             for(int j = 0; j < m_a; j++) {
  29.                 res[i][j] = A[i][j] + B[i][j];
  30.             }
  31.         }
  32.         return res;
  33.     }
  34.     cout << "Dimenziite na matricite treba da se isti za da mozhe da gi sobereme istite" << endl;
  35.     return {{0}};
  36. }
  37. matrix subtract_two_matrices(matrix A, matrix B) {
  38.     int n_a = (int) A.size(), m_a = (int) A[0].size();
  39.     int n_b = (int) B.size(), m_b = (int) B[0].size();
  40.    
  41.     if(n_a != n_b or m_a != m_b) {
  42.         cout << "Dimenziite na matricite treba da se isti za da mozhe da gi sobereme istite" << endl;
  43.         return {{0}};
  44.     }
  45.     matrix res = A;
  46.     for(int i = 0; i < n_a; i++) {
  47.         for(int j = 0; j < m_a; j++) {
  48.             res[i][j] = A[i][j] - B[i][j];
  49.         }
  50.     }
  51.     return res;
  52. }
  53. void print(matrix A) {
  54.     int n = (int) A.size(), m = (int) A[0].size();
  55.     for(int i = 0; i < n; i++) {
  56.         for(int j = 0; j < m; j++) {
  57.             cout << A[i][j] << " ";
  58.         }
  59.         cout << endl;
  60.     }
  61.     cout << endl;
  62. }
  63. int main() {
  64.     matrix A = {
  65.         {3, 2, 0},
  66.         {1, 1, 2},
  67.         {4, 5, 9}
  68.     };
  69.     matrix B = {
  70.         {1, 1, 1},
  71.         {1, 1, 1},
  72.         {1, 1, 1}
  73.     };
  74.    
  75.     matrix multiplied_by_k = multiply_by_k(A, 2);
  76.     print(multiplied_by_k);
  77.    
  78.     matrix add_two_matrix = add_two_matrices(A, B);
  79.     print(add_two_matrix);
  80.    
  81.    
  82.     matrix subtrac_two_matrix = subtract_two_matrices(A, B);
  83.     print(subtrac_two_matrix);
  84.     return 0;
  85. }
  86.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement