Преобразовать вектор в двумерный массив - 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]);
    }
}

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

9   голосов , оценка 3.556 из 5
Похожие ответы