Получить новую матрицу, переставляя ее блоки - C#

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

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

Дана действительная квадратная матрица порядка 2n. Получить новую матрицу, переставляя ее блоки размером n x n: а) крест-накрест; б) по часовой стрелке (левый верхний блок становится правым верхним, правый верхний – правым нижним и т.д.). Вижуал студио 2012 надо пж!

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

textual
Листинг программы
  1. using System;
  2.  
  3. namespace ConsoleApplication5
  4. {
  5.     class Program
  6.     {
  7.         static void Main(string[] args)
  8.         {
  9.             int[,] array = new int[4, 4] { { 1, 1, 2, 2 },{ 1,1,2,2},{ 3,3,4,4},{ 3,3,4,4} };
  10.             Print(array);
  11.             Console.WriteLine();
  12.             Rotate(array);
  13.             Print(array);
  14.             Console.WriteLine();
  15.             CrissCross(array);
  16.             Print(array);
  17.             Console.ReadKey(true);
  18.         }
  19.         public static void Rotate(int[,] array)
  20.         {
  21.             int tmp, n = array.GetLength(0) / 2;
  22.             for(int i = 0; i < n; i++)
  23.             {
  24.                 for(int j = 0; j < n; j++)
  25.                 {
  26.                     tmp = array[i + n, j];
  27.                     array[i + n, j] = array[i + n, j + n];
  28.                     array[i + n, j + n] = array[i, j + n];
  29.                     array[i, j + n] = array[i, j];
  30.                     array[i, j] = tmp;
  31.                 }
  32.             }
  33.         }
  34.         public static void CrissCross(int[,] array)
  35.         {
  36.             int tmp, n = array.GetLength(0) / 2;
  37.             for(int i = 0; i < n; i++)
  38.             {
  39.                 for(int j = 0; j < n; j++)
  40.                 {
  41.                     tmp = array[i, j];
  42.                     array[i, j] = array[i + n, j + n];
  43.                     array[i + n, j + n] = tmp;
  44.                     tmp = array[i + n, j];
  45.                     array[i + n, j] = array[i, j + n];
  46.                     array[i, j + n] = tmp;
  47.                 }
  48.             }
  49.         }
  50.         public static void Print(int[,] array)
  51.         {
  52.             for(int i = 0; i < array.GetLength(0); i++)
  53.             {
  54.                 for(int j = 0; j < array.GetLength(1); j++)
  55.                 {
  56.                     Console.Write(array[i, j] + " ");
  57.                 }
  58.                 Console.WriteLine();
  59.             }
  60.         }
  61.     }
  62. }

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


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

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

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

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

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

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