Petro_zzz

new_lesson11_2

Sep 16th, 2022
169
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.83 KB | None | 0 0
  1. #include <iostream>
  2. using namespace std;
  3.  
  4.  
  5.  
  6.  
  7. void show(int** arr) {
  8.    
  9.     int sz1 = _msize(arr) / sizeof(arr[0]);
  10.     int sz2;
  11.    
  12.     for (int k = 0; k < sz1; k++) {
  13.         sz2 = _msize(arr[k]) / sizeof(arr[k][0]);
  14.         for (int n = 0; n < sz2; n++)
  15.             cout << arr[k][n] << " ";
  16.         cout << endl;
  17.     }
  18.     cout << endl;
  19. }
  20.  
  21.  
  22. void generate(int** arr) {
  23.     int sz1 = _msize(arr) / sizeof(arr[0]);
  24.     int sz2;
  25.  
  26.     for (int k = 0; k < sz1; k++) {
  27.         sz2 = _msize(arr[k]) / sizeof(arr[k][0]);
  28.         for (int n = 0; n < sz2; n++)
  29.             arr[k][n] = (n + 1) * (k + 1);
  30.     }
  31. }
  32.  
  33. void sum(int** arr1, int** arr2, int** &arr3) {
  34.     int sz1 = _msize(arr1) / sizeof(arr1[0]);
  35.     int sz2;
  36.  
  37.     for (int k = 0; k < sz1; k++) {
  38.         sz2 = _msize(arr1[k]) / sizeof(arr1[k][0]);
  39.         for (int n = 0; n < sz2; n++)
  40.             arr3[k][n] = arr1[k][n] + arr2[k][n];
  41.     }
  42. }
  43.  
  44. void create(int** &arr, int sz1, int sz2) {
  45.     arr = new int* [sz1];
  46.     for (int k = 0; k < sz1; ++k)
  47.         arr[k] = new int[sz2];
  48. }
  49.  
  50. int**& create(int sz1, int sz2) {
  51.     int** arr = new int* [sz1];
  52.     for (int k = 0; k < sz1; ++k)
  53.         arr[k] = new int[sz2];
  54.     return arr;
  55. }
  56.  
  57. void dell_arr(int**& arr) {
  58.     int sz1 = _msize(arr) / sizeof(arr[0]);
  59.     for (int k = 0; k < sz1; ++k)
  60.         delete[] arr[k];
  61.     delete[] arr;
  62. }
  63.  
  64.  
  65.  
  66. void test1() {
  67.     int sz1 = 7;
  68.     int sz2 = 3;   
  69.     int** arr = create(sz1, sz2);  
  70.     generate(arr);
  71.     show(arr);
  72.     dell_arr(arr);
  73. }
  74.  
  75. void test2() {
  76.     int sz1 = 7;
  77.     int** arr = new int* [sz1];
  78.     for (int k = 0; k < sz1; ++k)
  79.         arr[k] = new int[k+1];
  80.     generate(arr);
  81.     show(arr);
  82.     dell_arr(arr);
  83. }
  84.  
  85. void test3() {
  86.     int** arr1 = create(2,2);
  87.     int** arr2 = create(2,2);
  88.     int** arr3 = create(2,2);
  89.  
  90.     arr1[0][0] = 1; arr1[0][1] = 54;
  91.     arr1[1][0] = 34; arr1[1][1] = 23;
  92.     generate(arr2);
  93.  
  94.     sum(arr1, arr2, arr3);
  95.     show(arr3);
  96.  
  97.     dell_arr(arr1);
  98.     dell_arr(arr2);
  99.     dell_arr(arr3);
  100. }
  101.  
  102. void main() {
  103.     test3();
  104. }
Advertisement
Add Comment
Please, Sign In to add comment