Advertisement
avr39-ripe

arr2dDynLecture

Apr 9th, 2020
405
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.46 KB | None | 0 0
  1. #include <iostream>
  2.  
  3.  
  4. void printArr2d(int arr2d[][3], int ySize, int xSize)
  5. {
  6.     for (int y{ 0 }; y < ySize; ++y)
  7.     {
  8.         for (int x{ 0 }; x < xSize; ++x)
  9.         {
  10.             std::cout << arr2d[y][x] << '\t';
  11.         }
  12.         std::cout << '\n';
  13.     }
  14. }
  15.  
  16. void printArr2dDyn(int** arr2d, int ySize, int xSize)
  17. {
  18.     for (int y{ 0 }; y < ySize; ++y)
  19.     {
  20.         for (int x{ 0 }; x < xSize; ++x)
  21.         {
  22.             std::cout << arr2d[y][x] << '\t';
  23.         }
  24.         std::cout << '\n';
  25.     }
  26. }
  27.  
  28. int main()
  29. {
  30.     const int ySize{ 2 };
  31.     const int xSize{ 3 };
  32.     int arr2d[ySize][xSize]{ {1,2,3},{4,5,6} };
  33.  
  34.     int** arr2dDyn{ new int* [ySize] {nullptr,nullptr} };
  35.     //std::cout << (arr2dDyn[0] == nullptr) << '\n';
  36.     //std::cout << (arr2dDyn[1] == nullptr) << '\n';
  37.     //arr2dDyn[0] = new int[xSize] {1,2,3};
  38.     //arr2dDyn[1] = new int[xSize] {4,5,6};
  39.  
  40.     //int* bigArr{ new int[ySize * xSize]{1,2,3,4,5,6} };
  41.     //for (int y{ 0 }; y < ySize; ++y)
  42.     //{
  43.     //  arr2dDyn[y] = bigArr + y * xSize;
  44.     //}
  45.     for (int y{ 0 }; y < ySize; ++y)
  46.     {
  47.         arr2dDyn[y] = new int[xSize];
  48.     }
  49.     printArr2dDyn(arr2dDyn, ySize, xSize);
  50.     //delete[] arr2dDyn[0];
  51.     //delete[] arr2dDyn[1];
  52.  
  53.     //delete[] bigArr;
  54.     for (int y{ 0 }; y < ySize; ++y)
  55.     {
  56.         delete[] arr2dDyn[y];
  57.     }
  58.  
  59.     delete[] arr2dDyn;
  60.  
  61.     ////int arr[xSize]{};
  62.     //int* arrPtr{ new int[xSize] {1,2,3} };
  63.     //
  64.     //arrPtr[0] = 1;
  65.     //arrPtr[1] = 2;
  66.     //arrPtr[2] = 3;
  67.  
  68.     //*(arrPtr + 0) = 1;
  69.     //*(arrPtr + 1) = 2;
  70.     //*(arrPtr + 1) = 3;
  71.  
  72.     //delete[] arrPtr;
  73.     //printArr2d(arr2d, ySize, xSize);
  74.    
  75. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement