Выполнить копирование в массив B всех элементов матрицы, расположенных в области, ограниченной нижней строкой - C#
Формулировка задачи:
Доброго времени суток!
Обращаюсь за помощью в решении задачи.
Создать матрицу целых чисел размером NхN и заполнить ее случайными числами из диапазона от 10 до 100. Значение N вводится с клавиатуры. Выполнить копирование в массив B всех элементов матрицы, расположенных в области, ограниченной нижней строкой, правым столбцом и побочной диагональю матрицы (границы входят в область копирования). Вывести: матрицу A, массив B.
Пример:
Матрица A
22 21 38
46 28 24
34 46 35
Массив B 38 28 24 34 46 35
Код: Буду очень благодарна за ответ.
int n;//Количество строк и столбцов матрицы
int[,] A;
Console.Write("Введите размерность квадратной матрицы: ");
n = int.Parse(Console.ReadLine());
A = new int[n, n];
Random rnd = new Random();
// Присвоение значений датчиком случайных чисел
for (int i = 0; i < n; i++)
for (int j = 0; j < n; j++)
A[i, j] = rnd.Next(10, 100 + 1);
//Вывод массива
Console.WriteLine("Матрица A: ");
for (int i = 0; i < n; i++, Console.WriteLine())
for (int j = 0; j < n; j++)
Console.Write(A[i, j] + "\t");Решение задачи: «Выполнить копирование в массив B всех элементов матрицы, расположенных в области, ограниченной нижней строкой»
textual
Листинг программы
//Копирование с заданным условием
int[] B = new int[(int)(Math.Pow(n,2)-n)/2+n];
int index = 0;
for (int i = 0; i<n; i++)
for (int j = n-1; j >=n-i-1; j--)
{
B[index] = A[i, j];
index++;
}
//Вывод массива B
Console.WriteLine();
Console.WriteLine("Матрица B: ");
foreach (int i in B)
Console.Write(i + " ");
Console.ReadLine();