Advertisement
avr39ripe

cpparr2dBasics

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