Перестановка в обратном порядке строк/столбцов в ступенчатом массиве - C#
Формулировка задачи:
В свое оправдание могу сказать только что Я ПЫТАЛСЯ догадаться сам
а). Дан двумерный массив из N (N>10) строк и M столбцов. Переставить в обратном порядке строки, расположенные между второй и десятой (т. е. с третьей по девятую).
б). Дан двумерный массив из N строк и M (>11) столбцов. Переставить в обратном порядке столбцы, расположенные между третьим и одиннадцатым (т. е. с четвертого по десятый).
Решение задачи: «Перестановка в обратном порядке строк/столбцов в ступенчатом массиве»
textual
Листинг программы
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace R2
{
class Program
{
static void Main(string[] args)
{
Random rand = new Random();
int n = rand.Next(10, 20);
int m = rand.Next(11, 20);
int[,] mas=new int [n,m];
genmas(arr:mas);
printmas(arr: mas);
genrows(genrows:mas);
printmas(arr:mas);
gencolumns(gencolumns:mas);
printmas(arr:mas);
}
private static void genmas(int[,] arr)
{
Random rand = new Random();
for (int i = 0; i <arr.GetLength(0); i++)
{
for (int j = 0; j < arr.GetLength(1); j++)
{
arr[i, j] = rand.Next(-10, 10);
}
}
}
private static void genrows( int[,] genrows)
{
int k = 8;
for (int i = 2; i <= 4; i++)
{
for (int j = 0; j < genrows.GetLength(1); j++)
{
int t = 0;
t = genrows[i, j];
genrows[i, j] = genrows[k, j];
genrows[k, j] = t;
}
k--;
}
}
private static void gencolumns(int[,] gencolumns)
{
int k = 9;
for (int i = 3; i <= 5; i++)
{
for (int j = 0; j < gencolumns.GetLength(1); j++)
{
int t = 0;
t = gencolumns[j, i];
gencolumns[j, i] = gencolumns[j, k];
gencolumns[j, k] = t;
}
k--;
}
}
private static void printmas (int [,] arr)
{
for (int i = 0; i <arr.GetLength(0); i++)
{
for (int j = 0; j <arr.GetLength(1); j++)
{
Console.Write("{0,4}", arr[i, j]);
}
Console.WriteLine();
}
Console.ReadLine();
}
}
}