[Exam Problems] C# Basics - the Explorer
Здравейте,
Опитвам се да реша задачата, като създавам метод, който рисува съответния ред, след като му се зададат параметри. Отпечатва ми, обаче повече "_", отколкото смятам, че съм задала. Някой вижда ли къде е грешката?
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
//At the only input line you will be given
//the width of the diamond. The char that forms the outline of the diamonds is '*'
//and the surrounding parts are made of '-' (see the examples).
//Your task is to print a diamond of given size n.
class Explorer
{
static void Main(string[] args)
{
int n = int.Parse(Console.ReadLine());
string form = "*";
string fill = "_";
Console.Write(Repeat(fill,n/2));
Console.Write(form);
Console.WriteLine( Repeat(fill, n / 2) );
for (int i = 2; i <= n / 2 + 1; i++)
{
Console.Write(Repeat(fill, n / 2 - (i - 1)));
Console.Write(form);
Console.Write(Repeat(fill,i - 1));
Console.Write(form);
Console.WriteLine(Repeat(fill, n / 2 - (i - 1)) );
}
for (int i = n / 2 + 2; i < 2; i--)
{
Console.Write(Repeat(fill, n / 2 - (i - 1)));
Console.Write(form);
Console.Write(Repeat(fill, i - 1));
Console.Write(form);
Console.WriteLine(Repeat(fill, n / 2 - (i - 1)));
}
Console.Write(Repeat(fill, n / 2));
Console.Write(form);
Console.WriteLine(Repeat(fill, n / 2));
}
public static string Repeat(string str, int count)
{
for (int i = 1; i <= count; i++)
{
Console.Write("{0}", str);
}
return str;
}
}
Привет,
Опитах се да направя собствено решение но доста се затрудних.
Твоето е чудесно.
Ето леко модифициран код.
http://pastebin.com/bUETqQFn