Из ступенчатого массива получить матрицу - C#
Формулировка задачи:
мне дан ступенчатый массив
к примеру
12345678
12345
123
надо по меньшей строке обрезать массив и получить матрицу
и чтоб она заполнялась вот так
123
234
345
Решение задачи: «Из ступенчатого массива получить матрицу»
textual
Листинг программы
class Program
{
static void Main(string[] args)
{
int[][] nStairArray = new int[5][];
Random rnd = new Random();
for (int i = 0; i < nStairArray.Length; i++)
{
int nRand = rnd.Next(2, 15);
nStairArray[i] = new int[nRand];
for (int k = 0; k < nRand; k++)
nStairArray[i][k] = rnd.Next(0, 100);
}
int[,] remake = getSquareMatrix(nStairArray);
}
private static int[,] getSquareMatrix(int[][] nStairArray)
{
int[,] squareMatrix;
int minLength = int.MaxValue;
foreach (int[] row in nStairArray)
if (row.Length < minLength) minLength = row.Length;
squareMatrix = new int[nStairArray.Length, minLength];
for (int n = 0; n < squareMatrix.GetLength(0); n++)
for (int m = 0; m < squareMatrix.GetLength(1); m++)
squareMatrix[n,m] = nStairArray[n][m];
return squareMatrix;
}
}