Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- namespace _11.Diamond
- {
- using System;
- public class Program
- {
- public static void Main(string[] args)
- {
- var n = int.Parse(Console.ReadLine());
- var leftRight = (n - 1) / 2;
- for (int i = 1; i <= (n - 1) / 2; i++)
- {
- Console.Write(new string('-', leftRight));
- Console.Write("*");
- var mid = n - (2 * leftRight) - 2;
- if (mid >= 0)
- {
- Console.Write(new string('-', mid));
- Console.Write("*");
- }
- Console.WriteLine(new string('-', leftRight));
- leftRight--;
- }
- // Проблема с бонус реда при четните числа е в този for- цикъл.
- // Условието за продължение на този цикъл е променено от "((n/2) + 1)" към "(n/2) + n % 2".
- // Това означава, че всеки път, когато нечетно число е вкарано ще се принтира с 1 ред повече, защото всяко
- // нечетно число, разделено процентно на 2 връща като резултат (пример => 3 % 2 =1).
- for (int i = 0; i < (n / 2) + (n % 2); i++)
- {
- Console.Write(new string('-', leftRight));
- Console.Write("*");
- var mid = n - (2 * leftRight) - 2;
- if (mid >= 0)
- {
- Console.Write(new string('-', mid));
- Console.Write("*");
- }
- Console.WriteLine(new string('-', leftRight));
- leftRight++;
- }
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement