Witam!
Jest jakiś sposób żeby utworzyć dynamicznie n-wymiarową tablice, np. pod parametr n ktoś podaje 3 i powstaje tablica tab[][][] ?
Znalazłem na jakimś forum post z 2009 na ten temat i ktoś dał taki pomysł, ale nie jestem pewien matematyki stojącej za tym rozwiązaniem i zastanawiam się czy może istnieje jakiś inny sposób do stworzenia n-wymiarowej tablicy:
"
This is a rather bizarre request. But it can be done.
You can create an n-dimensional array of dimensionsD1, D2, D3, ..., Dn
by creating a one dimensional array of size (D1 * D2 * D3 * ... * Dn)
. Then you access an element at position```
(x1, x2, x3, ... ,xn)
array[x1 * (D2 * D3 * ... Dn) + x2 (D3 * D4 * ... Dn) + ... + xn].
====================
Example: Creating a 4-dimensional array of sizes
3,2,5,7 (i.e. array[3][2][5][7]).
Create an array of size ```
(3 * 2 * 5 * 7)
```. Say, you want to access an element at position ```
(2, 0, 4, 1)
```. The index of the array will be calculated as such:
2 * (2 * 5 * 7) + 0 * (5 * 7) + 4 * (7) + 1.
"