Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- namespace RhombusOfStars
- {
- using System;
- public class Program
- {
- public static void Main()
- {
- int n = int.Parse(Console.ReadLine());
- int leftRightLineCount = (n - 1) / 2; // Брой тирета, които трябва да се сложат от лявата и от дясната страна.
- int firstRowAsteriskCount = 1; // Броят на звездите, които ще трябва да бъдат изпечатани на първия ред.
- if (n % 2 == 0)
- {
- firstRowAsteriskCount = 2;
- }
- int midLineCount = firstRowAsteriskCount; // Първоначалният брой на тиретата, които ще са вътре в диаманта.
- // Първи ред.
- Console.WriteLine("{0}{1}{0}", new string('-', leftRightLineCount), new string('*', firstRowAsteriskCount));
- leftRightLineCount--;
- // Всички редове след първия до средния(включително).
- for (int i = 0; i < ((n + 1) / 2) - 1; i++)
- {
- Console.WriteLine("{0}{1}{2}{1}{0}", new string('-', leftRightLineCount), '*', new string('-', midLineCount));
- // За leftRightLineCount = 1 и midLineCount = 2 пък ще изглежда ето така:
- // -*--*-
- midLineCount += 2; // (1)
- leftRightLineCount--;
- }
- // Увеличаване на бройката, за да се компенсира излишното намаляване след края предишния цикъл (1).
- midLineCount -= 2;
- leftRightLineCount++;
- // Всички останали редове.
- for (int i = 0; i < ((n + 1) / 2) - 1; i++)
- {
- midLineCount -= 2;
- leftRightLineCount++;
- if (midLineCount > 0)
- {
- Console.WriteLine("{0}{1}{2}{1}{0}", new string('-', leftRightLineCount), '*', new string('-', midLineCount));
- // За leftRightLineCount = 2 и midLineCount = 1 ще изглежда ето така:
- // --*-*--
- }
- else
- {
- Console.WriteLine("{0}{1}{0}", new string('-', leftRightLineCount), new string('*', firstRowAsteriskCount));
- }
- }
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement