Advertisement
enevlogiev

Matrix Rotation

Apr 13th, 2015
342
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 1.13 KB | None | 0 0
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5. using System.Threading.Tasks;
  6.  
  7. class MatrixRotation
  8. {
  9.     static void Main(string[] args)
  10.     {
  11.         int size = int.Parse(Console.ReadLine());
  12.         int index = 1;
  13.         int[,] matrix = new int[size, size];
  14.         for (int i = 0; i < size * size; i++)
  15.         {
  16.             matrix[i / size, i % size] = index++;
  17.         }
  18.  
  19.         matrix = Rotate(matrix);
  20.         Print(matrix);
  21.     }
  22.  
  23.     static int[,] Rotate(int[,] input)
  24.     {
  25.         int len = input.GetLength(0);
  26.         int[,] output = new int[len, len];
  27.         for (int i = 0; i < len; i++)
  28.         {
  29.             for (int j = len - 1; j >= 0; j--)
  30.             {
  31.                 output[i, len - j - 1] = input[j, i];
  32.             }
  33.         }
  34.         return output;
  35.     }
  36.  
  37.     static void Print(int[,] matr)
  38.     {
  39.         for (int i = 0; i < matr.GetLength(0); i++)
  40.         {
  41.             for (int j = 0; j < matr.GetLength(1); j++)
  42.             {
  43.                 Console.Write(matr[i, j] + " ");
  44.             }
  45.             Console.WriteLine();
  46.         }
  47.     }
  48. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement