Отобразить правую половину матрицы на левую зеркально симметрично относительно вертикальной оси - C# (182100)

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

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

Привет!

Уже долго вожусь с этой задачей, помогите пожалуйста!=) Понимаю, что такая задача уже есть на форуме, но она на С++, перевести не получилось=( Заполнить матрицу случайными числами. Отобразить правую половину матрицы на левую зеркально симметрично относительно вертикальной оси. Буду рад любой помощи=)

Решение задачи: «Отобразить правую половину матрицы на левую зеркально симметрично относительно вертикальной оси»

textual
Листинг программы
  1. using System;
  2.  
  3. class Program
  4. {
  5.     static void Main(string[] args)
  6.     {
  7.         var numbers = Console.ReadLine().Split();
  8.         int width = int.Parse(numbers[0]);
  9.         int height = int.Parse(numbers[1]);
  10.         var matrix = new int[width, height];
  11.         FillRandom(matrix);
  12.         Print(matrix);
  13.         Console.WriteLine();
  14.         MirrorTransform(matrix);
  15.         Print(matrix);
  16.     }
  17.  
  18.     static void FillRandom(int[,] matrix)
  19.     {
  20.         var random = new Random();
  21.         for (int x = 0; x < matrix.GetLength(0); ++x)
  22.             for (int y = 0; y < matrix.GetLength(1); ++y)
  23.                 matrix[x, y] = random.Next(100);
  24.     }
  25.  
  26.     static void MirrorTransform(int[,] matrix)
  27.     {
  28.         for (int x = 0; x < matrix.GetLength(0) / 2; ++x)
  29.             for (int y = 0; y < matrix.GetLength(1); ++y)
  30.                 Swap(ref matrix[x, y], ref matrix[matrix.GetLength(0) - x - 1, y]);
  31.     }
  32.  
  33.     private static void Swap(ref int x, ref int y)
  34.     {
  35.         int temp = x;
  36.         x = y;
  37.         y = temp;
  38.     }
  39.  
  40.     static void Print(int[,] matrix)
  41.     {
  42.         for (int y = 0; y < matrix.GetLength(1); ++y)
  43.         {
  44.             for (int x = 0; x < matrix.GetLength(0); ++x)
  45.                 Console.Write("{0,4}", matrix[x, y]);
  46.             Console.WriteLine();
  47.         }
  48.     }
  49. }

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


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

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

11   голосов , оценка 4.182 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы