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

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

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

Написать программу, заполняющую и отображающую на экране двумерный массив 9х9. Заполнить матрицу случайными числами. Отобразить симметрично относительно вертикальной оси секторы матрицы, которые лежат влево и вправо от главной и побочной диагоналей. P.S. Нужно без всяких заумных вещей написать код. Заранее спасибо!)

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

textual
Листинг программы
using System;
 
namespace CleanConsole
{
    internal class Program
    {
        static int[,] CreateMatrix(int size)
        {
            var random = new Random();
            var matrix = new int[size, size];
            for (int x = 0; x < size; ++x)
                for (int y = 0; y < size; ++y)
                    matrix[x, y] = random.Next(10);
            return matrix;
        }
 
        static void Print(int[,] matrix)
        {
            for (int y = 0; y < matrix.GetLength(1); ++y)
            {
                for (int x = 0; x < matrix.GetLength(0); ++x)
                    Console.Write("{0,2}", matrix[x, y]);
                Console.WriteLine();
            }
        }
 
        static void Transform(int[,] matrix)
        {
            int size = matrix.GetLength(0);
            for (int y = 0; y < size; ++y)
            {
                int count = (y <= size/2) ? y : size/2 - (y - size/2);
                for (int x = 0; x <= count; ++x)
                    Swap(ref matrix[x, y], ref matrix[size - x - 1, y]);
            }
        }
 
        static void Swap(ref int a, ref int b)
        {
            var t = a;
            a = b;
            b = t;
        }
 
        static void Main(string[] args)
        {
            var matrix = CreateMatrix(9);
            Print(matrix);
            Console.WriteLine();
            Transform(matrix);
            Print(matrix);
        }
    }
}

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


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

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

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