#include <iostream>
using namespace std;
void print2DArray_with5Columns(int (*ptr_row)[5])
{
for (int i = 0; i < 3; i++)
{
for (int j = 0; j < 3; j++)
{
std::cout << ptr_row[i][j] << " ";
}
std::cout << std::endl;
}
}
void print2DArray_withPtrToPtr(int **ptr_row)
{
for (int i = 0; i < 3; i++)
{
for (int j = 0; j < 3; j++)
{
std::cout << ptr_row[i][j] << " ";
}
std::cout << std::endl;
}
}
int main()
{
int** ptr_array_5by5;
ptr_array_5by5 = new int*[3];
for (int i = 0; i < 3; i++)
{
ptr_array_5by5[i] = new int[3];
for (int j = 0; j < 3; j++)
{
ptr_array_5by5[i][j] = i*j;
}
}
print2DArray_with5Columns(reinterpret_cast<int (*)[5]>(ptr_array_5by5));
std::cout << std::endl;
print2DArray_withPtrToPtr(ptr_array_5by5);
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgp1c2luZyBuYW1lc3BhY2Ugc3RkOwoKdm9pZCBwcmludDJEQXJyYXlfd2l0aDVDb2x1bW5zKGludCAoKnB0cl9yb3cpWzVdKQp7Cglmb3IgKGludCBpID0gMDsgaSA8IDM7IGkrKykKCXsKCQlmb3IgKGludCBqID0gMDsgaiA8IDM7IGorKykKCQl7CgkJCXN0ZDo6Y291dCA8PCBwdHJfcm93W2ldW2pdIDw8ICIgIjsKCQl9CgkJc3RkOjpjb3V0IDw8IHN0ZDo6ZW5kbDsKCX0KCn0KCnZvaWQgcHJpbnQyREFycmF5X3dpdGhQdHJUb1B0cihpbnQgKipwdHJfcm93KQp7Cglmb3IgKGludCBpID0gMDsgaSA8IDM7IGkrKykKCXsKCQlmb3IgKGludCBqID0gMDsgaiA8IDM7IGorKykKCQl7CgkJCXN0ZDo6Y291dCA8PCBwdHJfcm93W2ldW2pdIDw8ICIgIjsKCQl9CgkJc3RkOjpjb3V0IDw8IHN0ZDo6ZW5kbDsKCX0KCn0KCmludCBtYWluKCkKewoJaW50KiogcHRyX2FycmF5XzVieTU7CgoJcHRyX2FycmF5XzVieTUgPSBuZXcgaW50KlszXTsKCWZvciAoaW50IGkgPSAwOyBpIDwgMzsgaSsrKQoJewoJCXB0cl9hcnJheV81Ynk1W2ldID0gbmV3IGludFszXTsKCQlmb3IgKGludCBqID0gMDsgaiA8IDM7IGorKykKCQl7CgkJCXB0cl9hcnJheV81Ynk1W2ldW2pdID0gaSpqOwoJCX0KCX0KCglwcmludDJEQXJyYXlfd2l0aDVDb2x1bW5zKHJlaW50ZXJwcmV0X2Nhc3Q8aW50ICgqKVs1XT4ocHRyX2FycmF5XzVieTUpKTsKCglzdGQ6OmNvdXQgPDwgc3RkOjplbmRsOwoKCXByaW50MkRBcnJheV93aXRoUHRyVG9QdHIocHRyX2FycmF5XzVieTUpOwoKCXJldHVybiAwOwp9