Advertisement
Guest User

Untitled

a guest
Oct 23rd, 2019
81
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.50 KB | None | 0 0
  1. #include <iostream>
  2. #include <iomanip>
  3.  
  4. using namespace std;
  5.  
  6. void alloc_mem(int **a, int n)
  7. {
  8.     a = new int *[n];
  9.     for (int i = 0; i < n; i++)
  10.         a[i] = new int[n];
  11. }
  12.  
  13. void del_mem(int **a, int n)
  14. {
  15.     for (int i = 0; i < n; i++)
  16.         delete[] a[i];
  17.     delete a;
  18.     a = nullptr;
  19. }
  20.  
  21. void init_a(int **a, int n) //A initialization
  22. {
  23.     cout << "Enter matrix A:\n";
  24.     for (int i = 0; i < n; i++)
  25.         for (int j = 0; j < n; j++)
  26.             cin >> a[i][j];
  27. }
  28.  
  29. void gen_b(int **a, int **b, int n) //B elem generation
  30. {
  31.     for (int i = 0; i < n; i++)
  32.         for (int j = 0; j < n; j++)
  33.             if (a[i][j] >= 0)
  34.                 b[i][j] = a[i][j];
  35.             else
  36.                 b[i][j] = 1;
  37. }
  38.  
  39. void sum_c(int** a, int** b, int ** c, int n)//init C
  40. {
  41.     for (int i = 0; i < n; i++)
  42.         for (int j = 0; j < n; j++)
  43.             c[i][j] = a[i][j] + b[i][j];
  44. }
  45.  
  46. void disp_m(int** m, int n)
  47. {
  48.     for (int i = 0; i < n; i++){
  49.         for (int j = 0; j < n; j++)
  50.             cout << setw(4) << m[i][j];
  51.         cout << endl;
  52.     }
  53. }
  54.  
  55. void display(int** a, int** b, int** c, int n)
  56. {
  57.     char ch = 'A';
  58.     int** m_list[3] = {a, b, c};
  59.     for (int k = 0; k < 3; k++){
  60.         cout << "Matrix " << char(ch+k)<< ":\n";
  61.         for(int i = 0; i < n; i++)
  62.             for(int j = 0; j < n; j++)
  63.                 disp_m(m_list[k]);
  64.     }
  65. }
  66.  
  67. int main()
  68. {
  69.     cout << "Enter n: ";
  70.     int n;
  71.     cin >> n;
  72.     int** a, **b, **c;
  73.     alloc_mem(a, n);
  74.     alloc_mem(b, n);
  75.     alloc_mem(c, n);
  76.    
  77.     init_a(a, n);
  78.     gen_b(a, b, n);
  79.     sum_c(a, b, c, n);
  80.    
  81.     display(a, b, c, n);
  82.    
  83.     del_mem(a, n);
  84.     del_mem(b, n);
  85.     del_mem(c, n);
  86.     return 0;
  87. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement