Вывожу ромб в консоли таким способом:
class Program
{
static void Main(string[] args)
{
int x = 6;
int y = 6;
int x1 = 6;
int y1 = 6;
int size = 6;
for (int i = 0; i < size; i++)
{
Console.SetCursorPosition(x, y + i);
Console.WriteLine("*");
Console.SetCursorPosition(x - i, y + size);
Console.WriteLine("*");
Console.SetCursorPosition(x - i, y + i);
Console.WriteLine("*");
Console.SetCursorPosition(x, y + i);
Console.WriteLine("*");
Console.SetCursorPosition(x + i, y + size);
Console.WriteLine("*");
Console.SetCursorPosition(x + i, y + i);
Console.WriteLine("*");
}
for (int i = 0; i < size; i++)
{
Console.SetCursorPosition(x1, y1 + i);
Console.WriteLine("*");
Console.SetCursorPosition(x1 + i, y1 - size);
Console.WriteLine("*");
Console.SetCursorPosition(x1 + i, y1 - i);
Console.WriteLine("*");
Console.SetCursorPosition(x1, y1 + i);
Console.WriteLine("*");
Console.SetCursorPosition(x1 - i, y1 - size);
Console.WriteLine("*");
Console.SetCursorPosition(x1 - i, y - i);
Console.WriteLine("*");
}
Console.ReadKey();
}
}
Но получается не ромб, а что-то вроде этого:
* * * * *
* *
*
*
* *
* * * * *
А должно быть это :
> *
> * *
> * * * * *
> * *
> *
Ну почти.
Вы должны всё время помнить, что у вас y
-координата в консоли отсчитывается вниз, а не вверх. Из-за этого путаница.
У вас (x, y)
— верхняя опорная точка, поэтому нужно
int y = 0;
Аналогично, (x1, y1)
— нижняя опорная точка, поэтому
int y = 12;
Ну и несколько мелких опечаток: во втором цикле у вас Console.SetCursorPosition(x1, y1 + i);
, но раз вы отсчитываете вверх от нижней опорной точки, то нужен минус. (В двух местах.) И ещё вы в том же цикле один раз по ошибке используете y
вместо y1
.
С исправленными этими ошибками у меня получилось такое:
*
***
* * *
* * *
* * *
* * *
***********
* * *
* * *
* * *
* * *
***
*
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Я пользуюсь Xamarin for VS2015Летом я установил Xamarin на личный компьютер
У меня есть ссылка на wsdl файлКак мне получить данные по заданному url? Я делаю так:
ЗадачаЕсть база фильмов (фильм имеет различные поля, в данном контексте не имеет значение какие)