Многомерный массив в обратном порядке - C#

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

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

var b = new[,]
        {
      {5, 10, 8, -4, 62},
      {20, 2, 9, 9, -1},
      {5, 10, 1, 8, 1},
      {6, 1, 2, 6, -5},
      {95, 5, 1, 3, 2}
    };
 
for (int row = 0; row < 5; row++)
        {
            for (int col = 0; col < 5; col++)
            {
                Console.Write("|" + a[row, col] * b[row, col]);
            }
            Console.WriteLine("|");
        }
Как собственно говоря это сделать. Array.Reverse только с одномерным работает.

Решение задачи: «Многомерный массив в обратном порядке»

textual
Листинг программы
            var n = 5;
            var m = 5;
            // создание массива
            var rnd = new Random();
            var sourceArray = Enumerable.Range(0, n).Select(v => Enumerable.Range(0, m).Select(c => rnd.Next(1, 39)).ToArray()).ToArray();
            Console.WriteLine("Исходный массив:\n" + String.Join("\n", sourceArray.Select(v => String.Join(" | ", v))));
 
            // вьіполнение самих перестановок
            var halfN = sourceArray.Length / 2 + (sourceArray.Length % 2);
            for (var i = 0; i < halfN; i++)
            {
                var end_i = sourceArray.Length - 1 - i;
                for (var j = 0; j < sourceArray[i].Length; j++)
                {
                    var end_j = sourceArray[i].Length - 1 - j;
                    var current = sourceArray[i][j];
                    sourceArray[i][j] = sourceArray[end_i][end_j];
                    sourceArray[end_i][end_j] = current;
                }
            }
 
            // вьівод на єкран
            Console.WriteLine("Новый массив:\n" + String.Join("\n", sourceArray.Select(v => String.Join(" | ", v))));
            Console.ReadKey();

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


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

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

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