Advertisement
Gesh4o

Diamond

Feb 20th, 2016
102
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.54 KB | None | 0 0
  1. namespace RhombusOfStars
  2. {
  3. using System;
  4.  
  5. public class Program
  6. {
  7. public static void Main()
  8. {
  9. int n = int.Parse(Console.ReadLine());
  10. int leftRightLineCount = (n - 1) / 2; // Брой тирета, които трябва да се сложат от лявата и от дясната страна.
  11. int firstRowAsteriskCount = 1; // Броят на звездите, които ще трябва да бъдат изпечатани на първия ред.
  12.  
  13. if (n % 2 == 0)
  14. {
  15. firstRowAsteriskCount = 2;
  16. }
  17. int midLineCount = firstRowAsteriskCount; // Първоначалният брой на тиретата, които ще са вътре в диаманта.
  18.  
  19. // Първи ред.
  20. Console.WriteLine("{0}{1}{0}", new string('-', leftRightLineCount), new string('*', firstRowAsteriskCount));
  21. leftRightLineCount--;
  22.  
  23. // Всички редове след първия до средния(включително).
  24. for (int i = 0; i < ((n + 1) / 2) - 1; i++)
  25. {
  26. Console.WriteLine("{0}{1}{2}{1}{0}", new string('-', leftRightLineCount), '*', new string('-', midLineCount));
  27.  
  28. // За leftRightLineCount = 1 и midLineCount = 2 пък ще изглежда ето така:
  29. // -*--*-
  30. midLineCount += 2; // (1)
  31. leftRightLineCount--;
  32. }
  33.  
  34. // Увеличаване на бройката, за да се компенсира излишното намаляване след края предишния цикъл (1).
  35. midLineCount -= 2;
  36. leftRightLineCount++;
  37.  
  38. // Всички останали редове.
  39. for (int i = 0; i < ((n + 1) / 2) - 1; i++)
  40. {
  41. midLineCount -= 2;
  42. leftRightLineCount++;
  43. if (midLineCount > 0)
  44. {
  45. Console.WriteLine("{0}{1}{2}{1}{0}", new string('-', leftRightLineCount), '*', new string('-', midLineCount));
  46.  
  47. // За leftRightLineCount = 2 и midLineCount = 1 ще изглежда ето така:
  48. // --*-*--
  49. }
  50. else
  51. {
  52. Console.WriteLine("{0}{1}{0}", new string('-', leftRightLineCount), new string('*', firstRowAsteriskCount));
  53. }
  54. }
  55. }
  56. }
  57. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement