BorislavBorisov

23.02.Arrow - мое решение matrix

Feb 5th, 2016
71
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 3.26 KB | None | 0 0
  1. using System;
  2. class Arrow
  3. {
  4.    
  5.     static void Main()
  6.     {
  7.         int N = int.Parse(Console.ReadLine());
  8.         char[,] matrix = new char[N * 2 - 1, N * 2 - 1];
  9.         int leftDots = 1, leftDiez = 1, rightDots = N * 2 - 3, rightDiez = N * 2 - 3,
  10.             middleLeftDots = 2, lenght = N * 2 - 4;
  11.         bool isLeftDots = false;
  12.  
  13.         for (int row = 0; row < matrix.GetLength(0); row++)
  14.         {
  15.             for (int col = 0; col < matrix.GetLength(1); col++)
  16.             {
  17.                 //first Row
  18.                 if (row == 0)
  19.                 {
  20.                     if (col < N / 2 || (col > N * 2 - N / 2 - 2))
  21.                     {
  22.                         matrix[row,col] = '.';
  23.                     }
  24.                     else//else za средние е по-добре
  25.                     {
  26.                         matrix[row, col] = '#';
  27.                     }
  28.                 }
  29.                 else if (row < N - 1)
  30.                 {
  31.                     if (col < N / 2 || (col > N * 2 - (N / 2) - 2))
  32.                     {
  33.                         matrix[row, col] = '.';
  34.                     }
  35.                     else if ((col == N / 2) || (col == N + (N / 2 - 1)))
  36.                     {
  37.                         matrix[row,col] = '#';
  38.                     }
  39.                     else//за средните
  40.                     {
  41.                         matrix[row,col] = '.';
  42.                     }
  43.                 }
  44.                 else if (row == N - 1)
  45.                 {
  46.                     if (col <= N / 2 || (col >= N * 2 - (N / 2) - 2))
  47.                     {
  48.                         matrix[row, col] = '#';
  49.                     }
  50.                     else
  51.                     {
  52.                         matrix[row,col] = '.';
  53.                     }
  54.                 }
  55.                 else if(row >= N && row < N * 2 - 2)
  56.                 {
  57.                     if (leftDots > col || rightDots < col)
  58.                     {
  59.                         matrix[row,col] = '.';
  60.                         isLeftDots = true;
  61.                     }
  62.                     if (leftDiez == col || rightDiez == col)
  63.                     {
  64.                         matrix[row,col] = '#';
  65.                     }
  66.                     if (middleLeftDots <= col && col <= lenght)
  67.                     {
  68.                         matrix[row, col] = '.';
  69.                     }
  70.                 }
  71.                 else
  72.                 {
  73.                     if (col < N - 1 || col > N - 1)
  74.                     {
  75.                         matrix[row,col] = '.';
  76.                     }
  77.                     else
  78.                     {
  79.                         matrix[row,col] = '#';
  80.                     }
  81.                 }
  82.             }
  83.             if (isLeftDots)//така ги сетвам
  84.             {
  85.                 lenght--;
  86.                 middleLeftDots++;
  87.                 rightDiez--;
  88.                 leftDiez++;
  89.                 rightDots--;
  90.                 leftDots++;
  91.             }
  92.         }
  93.  
  94.         for (int row = 0; row < matrix.GetLength(0); row++)
  95.         {
  96.             for (int col = 0; col < matrix.GetLength(1); col++)
  97.             {
  98.                 Console.Write(matrix[row,col]);
  99.             }
  100.             Console.WriteLine();
  101.         }
  102.     }
  103. }
Advertisement
Add Comment
Please, Sign In to add comment