Помощ със задача Sunglasses от Drawing with loops
Здравейте,
с тази задача стигнах до тук и се опитвам да махна празните пространства между рамката на стъклата и дясното стъкло.
[url=https://ibb.co/eSgSk6][img]https://thumb.ibb.co/eSgSk6/Clipboard01.jpg[/img][/url]
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace tree
{
class Program
{
static void Main(string[] args)
{
int n = int.Parse(Console.ReadLine());
Console.Write("{0}{0}{1}{0}{0}", new string('*', n), new string(' ', n), new string('*', n));
Console.WriteLine();
for (int i = 1; i < n - 1; i++)
{
Console.Write("*");
for(int y=0; y<(n*2)-2; y++) //chertae redove
{
Console.Write("/");
}
Console.Write("*");
if (n % 2 == 0 && i < 2) //pochva mosta
{
Console.Write("{0}", new string('|', n));
}
while (i >= n / 2 && i <= n / 2 && !(n%2==0))
{
Console.Write("{0}", new string('|', n));
break;
}
Console.Write("{0}", new string(' ', n));
Console.Write("*"); //pochva vtoroto stuklo
for (int y = 0; y < (n * 2) - 2; y++)
{
Console.Write("/");
}
Console.Write("*");
Console.WriteLine();
}
Console.Write("{0}{0}{1}{0}{0}", new string('*', n), new string(' ', n), new string('*', n)); /// pochva nai dolen red
Console.WriteLine();
}
}
}
Или може само с един ред, макар че е една идея по-трудно четимо:
Console.Write(new string(i == Math.Ceiling((double)(n - 2) / 2) ? '|' : ' ', n));