Square Frame from Nested Loops- използване на метод за добавяне на space към string
Здравейте, имам проблем със следната задача или по-скоро с добавянето на празно пространство към стринг. Разбрах за метода String.Concat , но не зная как да го използвам и дали именно този метод ще ми свърши работа. Моля за помощ, защото с метод new string не се получава.
Ето го и кода ми:
using System;
public class Program
{
public static void Main()
{
var n= int.Parse(Console.ReadLine());
Console.WriteLine("+ "+new string('- ',n-2)+"+");
for(int i=0;i<n-2;i++) {
Console.WriteLine("| "+new string('- ',n-2)+"|");}
Console.WriteLine("+ "+new string('- ',n-2)+"+");
}
}
Example: Square Frame
Write a program that takes a positive integer n and draws on the console a square frame with a size of n * n.
Input | Output | Input | Output |
---|---|---|---|
3 | + - + | - | + - + |
4 | + - - + | - - | | - - | + - - + |
Input | Output | Input | Output |
---|---|---|---|
5 | + - - - + | - - - | | - - - | | - - - | + - - - + |
6 | + - - - - + | - - - - | | - - - - | | - - - - | | - - - - | + - - - - + |
Благодаря, ще ми свърши работа!
Ако все пак се сетите и за някакъв друг начин, моля да споделите.
Ето го кода с въпросния метод, но Judge дава само 83/100. Възможно ли е проблема да си е от Judge?
using System;
public class Program
{
public static void Main()
{
var n= int.Parse(Console.ReadLine());
Console.WriteLine("+ " + string.Join(" ", new string('-', n-2).ToCharArray()) + " +");
for(int i=0;i<n-2;i++) {
Console.WriteLine("| " + string.Join(" ", new string('-', n-2).ToCharArray())+ " |");}
Console.WriteLine("+ " + string.Join(" ", new string('-', n-2).ToCharArray()) + " +");
}
}
Може да видиш каква е грешката в Judge за тази задача, ако отвориш "Details" след като събмитнеш решението си:
Test input: 2
Expected output: + +
Your output:: + +
Както се вижда, проблемът е, че има един допълнителен спейс между двата '+' при вход "2".
При "2" получаваме: "+ " + "" + " +", защото new string('-', 0) ни дава празен стринг (2-2 = 0).
Ако използваш втория формат, който съм ти показал, този проблем ще бъде решен: