Advertisement
Gesh4o

DiamondTask

Feb 25th, 2016
85
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.83 KB | None | 0 0
  1. namespace _11.Diamond
  2. {
  3. using System;
  4.  
  5. public class Program
  6. {
  7. public static void Main(string[] args)
  8. {
  9. var n = int.Parse(Console.ReadLine());
  10. var leftRight = (n - 1) / 2;
  11. for (int i = 1; i <= (n - 1) / 2; i++)
  12. {
  13. Console.Write(new string('-', leftRight));
  14. Console.Write("*");
  15.  
  16. var mid = n - (2 * leftRight) - 2;
  17. if (mid >= 0)
  18. {
  19. Console.Write(new string('-', mid));
  20. Console.Write("*");
  21. }
  22. Console.WriteLine(new string('-', leftRight));
  23. leftRight--;
  24. }
  25.  
  26.  
  27. // Проблема с бонус реда при четните числа е в този for- цикъл.
  28. // Условието за продължение на този цикъл е променено от "((n/2) + 1)" към "(n/2) + n % 2".
  29. // Това означава, че всеки път, когато нечетно число е вкарано ще се принтира с 1 ред повече, защото всяко
  30. // нечетно число, разделено процентно на 2 връща като резултат (пример => 3 % 2 =1).
  31. for (int i = 0; i < (n / 2) + (n % 2); i++)
  32. {
  33. Console.Write(new string('-', leftRight));
  34. Console.Write("*");
  35.  
  36. var mid = n - (2 * leftRight) - 2;
  37. if (mid >= 0)
  38. {
  39. Console.Write(new string('-', mid));
  40. Console.Write("*");
  41. }
  42. Console.WriteLine(new string('-', leftRight));
  43. leftRight++;
  44. }
  45. }
  46. }
  47. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement