0

N-dimensional array

Is there a way that I can input the number n and the function (like some) will create n-dimensional array? F.e.: if I input 3 it will create int array[] [] [].

20th May 2019, 5:39 PM
Jakub Patrik
8 Respostas
+ 5
You could try something like this: https://code.sololearn.com/cQCGKo7DXZBA/#cpp #include <iostream> using namespace std; int main() { int arrSize; cout << "What size do you want array?\n"; cin >> arrSize; int *myArr = new int[arrSize]; for(int i = 0; i < arrSize; ++i) { myArr[i] = (i+2)*4; // diff num than index for illustration purposes cout << "myArr[" << i << "] is " << myArr[i] << endl; } return 0; } :::: INTPUT ::::: 7 :::: OUTPUT :::: What size do you want array? myArr[0] is 8 myArr[1] is 12 myArr[2] is 16 myArr[3] is 20 myArr[4] is 24 myArr[5] is 28 myArr[6] is 32 PS - I agree with Aaron. Vectors is better method.
20th May 2019, 5:50 PM
AgentSmith
+ 4
Arrays usually have a fixed size at compile time so changing their size depending on user input doesn't work (though some compiler might allow this). The best way to implement this would be to use vectors.
20th May 2019, 5:46 PM
Aaron Eberhardt
Aaron Eberhardt - avatar
+ 2
@Bennett Post You're absolutely right. I can't read today. lol :D
20th May 2019, 6:00 PM
AgentSmith
+ 2
Very good explanation, that is exactly the method my friend recommended, but as you mentioned, might get tricky with large N's.
20th May 2019, 6:44 PM
Jakub Patrik
0
You see, I was trying to write some Program that could write out all the variations with repetitions, given the elements f.e.: {1,2,3} and n spaces, if n was 4 it would go from 1111,1112,1113.....3331,3332,3333.
20th May 2019, 6:02 PM
Jakub Patrik