Advertisement
soxa

MatrixC

Dec 24th, 2013
106
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 1.78 KB | None | 0 0
  1. using System;
  2.  
  3. class PrintMatrixC
  4. {
  5.     static int n = int.Parse(Console.ReadLine());
  6.     static int[,] array = new int[n, n];
  7.     static int rightSideOfMatrix = n * n;
  8.     static int index = 0;
  9.     static int count = 0;
  10.  
  11.     static void AligmentMatrixRight(int rol, int col, int[,] array)
  12.     {
  13.         if (rol >= n - 1 || col >= n - 1)
  14.         {
  15.             array[rol, col] = ++count;
  16.             if (rol == 0 && col == n-1)
  17.             {
  18.                 return;
  19.             }
  20.             rol = 0;
  21.             index++;
  22.             AligmentMatrixRight(rol, index, array);
  23.         }
  24.         else
  25.         {
  26.             array[rol, col] = ++count;
  27.             AligmentMatrixRight(rol + 1, col + 1, array);
  28.         }
  29.     }
  30.  
  31.     static void AligmentMatrixLeft(int rol, int col, int[,] array)
  32.     {
  33.         if (rol < 0 || col < 0 )
  34.         {
  35.             index = 1;
  36.             AligmentMatrixRight(rol + 1, col + 1,array);
  37.             return;
  38.         }
  39.  
  40.         if (rol >= n-1 || col >= n-1)
  41.         {
  42.             index++;
  43.             array[rol, col] = ++count;
  44.             col = 0;
  45.             AligmentMatrixLeft(rol - index, col,array);
  46.         }
  47.         else
  48.         {
  49.             array[rol, col] = ++count;
  50.             AligmentMatrixLeft(rol + 1, col + 1,array);
  51.         }
  52.     }
  53.  
  54.     static void Main()
  55.     {
  56.         AligmentMatrixLeft(n - 1, 0,array);
  57.         for (int i = 0; i < n; i++)
  58.         {
  59.             for (int j = 0; j < n; j++)
  60.             {
  61.                 if (array[i, j] > 9)
  62.                 {
  63.                     Console.Write(array[i, j] + " ");
  64.                 }
  65.                 else
  66.                 {
  67.                     Console.Write(array[i, j] + "  ");
  68.                 }
  69.             }
  70.             Console.WriteLine();
  71.         }
  72.     }
  73. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement