Преобразовать вектор в двумерный массив - C#
Формулировка задачи:
Есть вектор 1,2,3,4,5,6,7,8,9,10,11,12
Представление в массиве
1 2 3 4
5 6 7 8
9 10 11 12
И к примеру зная номер элемента в векторе получить координаты 6->(1,1); 9->(0,3)
Ширина и высота массива известна.
Решение задачи: «Преобразовать вектор в двумерный массив»
textual
Листинг программы
class Program { static void Main(string[] args) { int[] arr = { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11}; int width = 4; int height = 3; if (width * height != arr.Length) throw new Exception("Несоответствие размерностей"); int[,] dimArr = new int[height, width]; // Заполнение двумерного массива. for (int i = 0; i < height; ++i) { for (int j = 0; j < width; ++j) { dimArr[i, j] = arr[i*width+j]; } } // Вывод элементов двумерного массива. for (int i = 0; i < height; ++i) { for (int j = 0; j < width; ++j) { Console.Write(dimArr[i, j] + " "); } Console.WriteLine(); } // Восстановление по координате вектора. int pos = 7; int row = pos / width; int col = pos % width; Console.WriteLine("Row = {0}, Col = {1}, el = {2}", row, col, dimArr[row, col]); } }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д