Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/320.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
重叠式C#方形图案印刷_C# - Fatal编程技术网

重叠式C#方形图案印刷

重叠式C#方形图案印刷,c#,C#,当提供多个整数表示几个正方形的长度时,返回 字符串将表示共享左上角的多个正方形,每个正方形重叠 其他需要时 例如。 投入:3,5 输出: 我尝试了这段代码,但只输入了一次。我试图放置控制台。SetCursorPosition但只打印第二个输入。我能知道我会错过什么吗 string[] edgesArr = edges.Split(','); foreach(string edge in edgesArr) { PrintSquare(Convert.ToInt32(edge)); }

当提供多个整数表示几个正方形的长度时,返回 字符串将表示共享左上角的多个正方形,每个正方形重叠 其他需要时

例如。 投入:3,5 输出:

我尝试了这段代码,但只输入了一次。我试图放置
控制台。SetCursorPosition
但只打印第二个输入。我能知道我会错过什么吗

string[] edgesArr = edges.Split(',');

foreach(string edge in edgesArr) {
    PrintSquare(Convert.ToInt32(edge));
}


static void PrintSquare(int edges) {

    Console.SetCursorPosition(0, 1);

    for (int i = 0; i < edges; i++) {

        for (int j = 0; j < edges; j++) {

            if (i == 0 || i == edges-1 || j == 0 || j == edges-1) {
                Console.Write('#');
            } else {
                Console.Write(' ');
            }

        }

        Console.WriteLine();
    }

}
string[]edgesArr=edges.Split(',');
foreach(边中的字符串边){
PrintSquare(转换为32(边缘));
}
静态void PrintSquare(int边){
控制台。设置光标位置(0,1);
对于(int i=0;i
您可以尝试按降序打印重叠页,先打印5页,然后打印3页,依此类推

int[]edgesArr=edges.Split(',).Select(s=>Convert.ToInt32(s));
Array.Sort(edgesArr);
阵列。反向(edgesArr);
foreach(边缘中的内部边缘)
{
打印正方形(边缘);
}

您可以尝试按降序打印重叠页,先打印5页,然后打印3页,依此类推

int[]edgesArr=edges.Split(',).Select(s=>Convert.ToInt32(s));
Array.Sort(edgesArr);
阵列。反向(edgesArr);
foreach(边缘中的内部边缘)
{
打印正方形(边缘);
}

“但只打印第二个输入”-因为“第二个”输入在第一个输入之后打印,因此覆盖了以前的值。是的,这就是为什么我认为设置光标位置不合适的原因。我在问方形打印代码中是否有符合要求的内容。实际上,您需要确定给定的位置应该是
还是空的。为此,您需要检查边,以确定是否需要在该位置绘制其中任何边。如果要执行控制台设置光标位置方法,则需要在移动光标时使用该方法,而不是打印空格。(但我不会,我会选择Llama的方法。)“但只打印第二个输入”-因为“第二个”输入在第一个输入之后打印,因此覆盖了以前的值。是的,这就是为什么我认为设置光标位置不合适的原因。我在问方形打印代码中是否有符合要求的内容。实际上,您需要确定给定的位置应该是
还是空的。为此,您需要检查边,以确定是否需要在该位置绘制其中任何边。如果要执行控制台设置光标位置方法,则需要在移动光标时使用该方法,而不是打印空格。(但我不会,我会支持骆驼的接近。)
string[] edgesArr = edges.Split(',');

foreach(string edge in edgesArr) {
    PrintSquare(Convert.ToInt32(edge));
}


static void PrintSquare(int edges) {

    Console.SetCursorPosition(0, 1);

    for (int i = 0; i < edges; i++) {

        for (int j = 0; j < edges; j++) {

            if (i == 0 || i == edges-1 || j == 0 || j == edges-1) {
                Console.Write('#');
            } else {
                Console.Write(' ');
            }

        }

        Console.WriteLine();
    }

}