В квадратной матрице симметрично отразить элементы относительно диагонали (по выбору пользователя) - C#

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

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

Написать программу, которая в квадратной матрице симметрично отражает элементы либо относительно главной, либо относительно вспомогательной диагонали(задается пользователем). Задание размера и резервирование матрицы производится динамически. После резервирования матрица заполняется случайными числами. Написать на Шарпе. Можно пожалуйста полный код программы. СПАСИБО БОЛЬШОЕ ЛЮДИ!

Решение задачи: «В квадратной матрице симметрично отразить элементы относительно диагонали (по выбору пользователя)»

textual
Листинг программы
  1. using System;
  2.  
  3. namespace ConsoleApplication1
  4. {
  5.     class Program
  6.     {
  7.         static void Main(string[] args)
  8.         {
  9.             Console.WriteLine("Введите размер:");
  10.             int size = int.Parse(Console.ReadLine());
  11.  
  12.             var rnd = new Random();
  13.             var matrix = new int[size, size];
  14.  
  15.             Console.WriteLine("Исходная матрица:");
  16.             for (int i = 0; i < matrix.GetLength(0); i++)
  17.             {
  18.                 for (int j = 0; j < matrix.GetLength(0); j++)
  19.                 {
  20.                     var q = rnd.Next(1, 10);
  21.                     matrix[i, j] = q;
  22.                     Console.Write("{0,3}",q);
  23.                 }
  24.                 Console.WriteLine();
  25.             }
  26.             Console.WriteLine("1.Главная 2.Побочная");
  27.             int res = int.Parse(Console.ReadLine());
  28.             if (res == 1)
  29.             {
  30.                 Console.WriteLine("Относительно главной:");
  31.                 Gl(matrix);
  32.             }
  33.             else
  34.             {
  35.                 Console.WriteLine("Относительно побочной:");
  36.                 Pob(matrix);
  37.             }
  38.          
  39.             Print(matrix);
  40.  
  41.             Console.ReadKey();
  42.  
  43.         }
  44.  
  45.         static void Print(int[,] matrix)
  46.         {
  47.             for (int i = 0; i < matrix.GetLength(0); i++)
  48.             {
  49.                 for (int j = 0; j < matrix.GetLength(1); j++)
  50.                 {
  51.                     Console.Write("{0,3}", matrix[i, j]);
  52.                 }
  53.                 Console.WriteLine();
  54.             }
  55.         }
  56.  
  57.         static void Gl(int[,] matrix)
  58.         {
  59.             for (int i = 1; i < matrix.GetLength(0); ++i)
  60.                 for (int j = 0; j < i; ++j)
  61.                 {
  62.                     int temp = matrix[j, i];
  63.                     matrix[j, i] = matrix[i, j];
  64.                     matrix[i, j] = temp;
  65.                 }
  66.         }
  67.  
  68.         static void Pob(int[,] matrix)
  69.         {
  70.             for (int i = 0; i < matrix.GetLength(0) - 1; i++)
  71.             {
  72.                 for (int j = 0; j < matrix.GetLength(0) - i; j++)
  73.                 {
  74.                    int  tmp = matrix[i,j];
  75.                     matrix[i,j] = matrix[matrix.GetLength(0) - 1 - j,matrix.GetLength(0) - 1 - i];
  76.                     matrix[matrix.GetLength(0) - 1 - j,matrix.GetLength(0) - 1 - i] = tmp;
  77.                 }
  78.             }
  79.         }
  80.     }
  81.  
  82. }

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


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

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

8   голосов , оценка 3.875 из 5

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

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

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