Я хочу написать программу, которая получает массив из n измерений от пользователя (например, пользователь вводит массив 4 * 3 * 3 - три измерения) и печатает все его элементы (порядок не важен, может быть, все элементы более 1 непрерывной линии). Я смог добиться этого для массива из 3, но у меня нет ни малейшего понятия, с чего начать для любого массива измерения n.
Вот код на данный момент:
static void Main(string[] args)
{
int[,,] _numberGrid =
{
{
{1,2,3},
{4,5,6},
{7,8,9},
},
{
{1,2,3},
{4,5,6},
{7,8,9},
},
{
{1,2,3},
{4,5,6},
{7,8,9},
},
{
{1,2,3},
{4,5,6},
{7,8,9},
},
{
{1,2,3},
{4,5,6},
{7,8,9},
}
}; //4*3*3
Console.WriteLine(_numberGrid.Rank);
int numberOfDimentions = _numberGrid.Rank;
int[] newArray = new int[_numberGrid.Rank];
for (int i = 0; i<newArray.Length; i++)
{
newArray[i] = _numberGrid.GetUpperBound(i);
}
for(int i = 0; i <= newArray[0]; i++)
{
Console.Write("\n");
for (int j = 0; j <= newArray[1]; j++)
{
Console.Write("\n");
for (int k = 0; k <= newArray[2]; k++)
{
Console.Write(_numberGrid[i, j, k]);
}
}
}
Console.ReadLine();
}
Полагаю, это возможно с помощью какого-то рекурсивного вызова, но я не уверен, как это сделать. Порядок, в котором элементы печатаются, не важен, они могут быть напечатаны в одну непрерывную строку. просто чтобы уточнить: под любым массивом измерения n я подразумеваю любой требуемый массив размера n, который пользователь вводит в качестве входных данных.