Сдвиг столбцов матрицы влево - C#

Узнай цену своей работы

Формулировка задачи:

В двумерном массиве произвести сдвиг элементов таким образом, что второй столбец становится первым, третий столбец - вторым и т.д., а первый становится последним. Помогите пожалуйста с заданием.

Решение задачи: «Сдвиг столбцов матрицы влево»

textual
Листинг программы
namespace ConsoleApplication1
{
    class Program
    {
 
 
        static void Main(string[] args)
        {
            int m = 4;
            int n = 5;
            int[,] arr = new int[m,n];
            int[,] new_arr = new int[m, n];
 
            MyLib.ArrRandom(arr); //заполняет 2x массив рандомом
            MyLib.ArrPrint(arr); //печатает 2x массивы  int
 
            int L1=arr.GetUpperBound(0)+1;
            int L2=arr.GetUpperBound(1)+1;
            int jx;
 
            
            for (int i = 0; i < L1; i++)
            {
                for (int j = 0; j < L2; j++)
                {
                    jx = j;
                    if (j == L2-1)
                    {
                        jx = -1;
                    }
                    new_arr[i, j] = arr[i, jx + 1];
                }
            }
 
            MyLib.ArrPrint(new_arr); //печатает 2x массивы  int
 
            Console.ReadLine();
        }
    }
 
    class MyLib
    {
        public static void ArrRandom(int[,] arr, int r1 = 0, int r2 = 10) //заполняет 2x массив рандомом
        {   
 
            int i, j;
            int L1, L2;
            L1 = arr.GetUpperBound(0) + 1;
            L2 = arr.GetUpperBound(1) + 1;
 
            Random random = new Random();
 
            for (i = 0; i < L1; i++)
            {
                for (j = 0; j < L2; j++)
                {
                    arr[i, j] = random.Next(r1, r2);
                }
            }
 
        }
 
        public static void ArrPrint(int[,] arr) //печатает 2x массивы  int
        {    
 
            int r1, r2;
            int i, j;
            r1 = arr.GetUpperBound(0) + 1;
            r2 = arr.GetUpperBound(1) + 1;
 
            for (i = 0; i < r1; i++)
            {
                for (j = 0; j < r2; j++)
                {
                    Console.Write(arr[i, j] + " ");
                }
                Console.WriteLine("");
            }
            Console.WriteLine("");
        }
    }
    
    
            
 
 
}

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


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

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

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