Advertisement
avr39ripe

BV0242dDynArrPractice

Jan 13th, 2021
121
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.91 KB | None | 0 0
  1. #include <iostream>
  2.  
  3. template <typename T>
  4. void printArr(T* arr, int arrSize)
  5. {
  6.     for (int i{ 0 }; i < arrSize; ++i)
  7.     {
  8.         std::cout << arr[i] << '\t';
  9.     }
  10.     std::cout << '\n';
  11. }
  12.  
  13. template <typename T>
  14. void printArr(T arr[][3], int xSize, int ySize)
  15. {
  16.     for (int y{ 0 }; y < ySize; ++y)
  17.     {
  18.         printArr(arr[y], xSize);
  19.     }
  20.     std::cout << '\n';
  21. }
  22.  
  23. template <typename T>
  24. void printArr(T** arr, int xSize, int ySize)
  25. {
  26.     for (int y{ 0 }; y < ySize; ++y)
  27.     {
  28.         printArr(arr[y], xSize);
  29.     }
  30.     std::cout << '\n';
  31. }
  32.  
  33. template <typename T>
  34. void fillArr(T** arr, int xSize, int ySize)
  35. {
  36.     for (int y{ 0 }; y < ySize; ++y)
  37.     {
  38.         for (int x{ 0 }; x < xSize; ++x)
  39.         {
  40.             arr[y][x] = rand() % 10;
  41.         }
  42.     }
  43. }
  44.  
  45.  
  46. int main()
  47. {
  48.     const int ySize{ 3 };
  49.     const int xSize{ 3 };
  50.     int arr2d[ySize][xSize]
  51.     {
  52.         {1,2,3},
  53.         {4,5,6},
  54.         {7,8,9}
  55.     };
  56.  
  57.     char str[xSize]{ 'a','s','d' };
  58.     //char* dynStr{ new char[xSize] {'d','y','n'} };
  59.     int arr[xSize]{1,2,3};
  60.     int* ptr;
  61.     ptr = new int[xSize]{1, 2, 3};
  62.  
  63.     //int* arr2dDyn{ new int[xSize] {1,2,3} };
  64.     int** arr2dDyn{ new int* [ySize] {nullptr,nullptr,nullptr} };
  65.  
  66.     //int* bigArr{ new int[ySize * xSize]{1,2,3,4,5,6,7,8,9} };
  67.     //for (int y{ 0 }; y < ySize; ++y)
  68.     //{
  69.     //  arr2dDyn[y] = bigArr + (xSize * y);
  70.     //}
  71.  
  72.     arr2dDyn[0] = new int[3];
  73.     arr2dDyn[1] = new int[100];
  74.     arr2dDyn[2] = new int[2];
  75.  
  76.     //for (int y{ 0 }; y < ySize; ++y)
  77.     //{
  78.     //  arr2dDyn[y] = new int[xSize];
  79.     //}
  80.  
  81.     fillArr(arr2dDyn, ySize, xSize);
  82.     printArr(arr2dDyn, ySize, xSize);
  83.  
  84.     arr2dDyn[0][0] = 444;
  85.  
  86.     std::cout << arr2dDyn[0][0] << '\n';
  87.  
  88.     printArr(arr2dDyn, ySize, xSize);
  89.  
  90.     for (int y{ 0 }; y < ySize; ++y)
  91.     {
  92.         delete[] arr2dDyn[y];
  93.     }
  94.     //delete[] bigArr;
  95.     delete[] arr2dDyn;
  96.  
  97.     /*printArr(arr2d, ySize, xSize);
  98.     std::cout << '\n';
  99.     printArr(arr2d[1], xSize);
  100.     std::cout << '\n';
  101.     printArr(str, xSize);
  102.     std::cout << '\n';
  103.     printArr(dynStr, xSize);*/
  104.  
  105.     delete[] ptr;
  106.     return 0;
  107. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement