Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- template <typename T>
- void printArr2d(T arr2d[][3], int ySize, int xSize)
- {
- for (int y{ 0 }; y < ySize; ++y)
- {
- for (int x{ 0 }; x < xSize; ++x)
- {
- std::cout << arr2d[y][x] << ' ';
- }
- std::cout << '\n';
- }
- }
- template <typename T>
- void printArr2dDyn(T** arr2d, int ySize, int xSize)
- {
- for (int y{ 0 }; y < ySize; ++y)
- {
- for (int x{ 0 }; x < xSize; ++x)
- {
- std::cout << arr2d[y][x] << ' ';
- }
- std::cout << '\n';
- }
- }
- template <typename T>
- void fillArr2dDyn(T** arr2d, int ySize, int xSize)
- {
- for (int y{ 0 }; y < ySize; ++y)
- {
- for (int x{ 0 }; x < xSize; ++x)
- {
- arr2d[y][x] = rand()%20;
- }
- }
- }
- template <typename T>
- void printArr(T* arr, int xSize)
- {
- for (int x{ 0 }; x < xSize; ++x)
- {
- std::cout << arr[x] << ' ';
- }
- std::cout << '\n';
- }
- int main()
- {
- const int ySize{ 3 };
- const int xSize{ 3 };
- int arr2d[ySize][xSize]{ {1,2,3},{4,5,6},{7,8,9} };
- //int arr[xSize]{ 1,2,3 };
- //int* arrDyn{ new int[xSize] {11,21,31} };
- //printArr(arr, xSize);
- //std::cout << '\n';
- //printArr(arrDyn, xSize);
- int** arr2dDyn{ new int* [ySize] {} };
- int* bigArr{ new int[ySize * xSize]{21,22,23,24,25,26,27,28,29} };
- //for (int y{ 0 }; y < ySize; ++y)
- //{
- // arr2dDyn[y] = new int[xSize] {};
- //}
- for (int y{ 0 }; y < ySize; ++y)
- {
- arr2dDyn[y] = bigArr + y * xSize;
- }
- printArr2dDyn(arr2dDyn, ySize, xSize);
- std::cout << '\n';
- fillArr2dDyn(arr2dDyn, ySize, xSize);
- printArr2dDyn(arr2dDyn, ySize, xSize);
- //printArr2d(arr2d, ySize, xSize);
- //for (int y{ 0 }; y < ySize; ++y)
- //{
- // delete[] arr2dDyn[y];
- //}
- delete[] bigArr;
- delete[] arr2dDyn;
- std::cout << '\n';
- for (int x{ 0 }; x < ySize * xSize; ++x)
- {
- std::cout << ((int*)arr2d)[x] << ' ';
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement