Сдвиг столбцов матрицы влево - 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("");
- }
- }
- }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д