【问题标题】:How do I get the matrix to print what i intended如何让矩阵打印我想要的
【发布时间】:2019-12-15 03:27:43
【问题描述】:

我对代码的输出有疑问。我输入了 1 到 12 的数字,我希望它会显示

1 2 3 |7 8 9

4 5 6 |10 11 12

但它的显示

1 2 3| 4 5 6

7 8 9| 10 11 12

谁能帮我解决这个问题,并可能解释为什么它没有显示我的想象。对不起,我的英语不好。请记住,“red”是行,“kol”是列,“dim”是第三维。而“|”符号只是显示哪些数字属于哪个矩阵的一种方式。希望你能理解!


int[,,] probnamatrica = new int[3, 2, 2];
         Console.WriteLine("Unesite elemente matrice");
         for(int dim=0;dim<probnamatrica.GetLength(2); dim++)
         {
             for(int kol=0; kol<probnamatrica.GetLength(1); kol++)
             {
                 for(int red=0; red<probnamatrica.GetLength(0); red++)
                 {
                     Console.Write("[{0} {1} {2}]", red, kol, dim);
                     probnamatrica[red, kol, dim] = int.Parse(Console.ReadLine());
                 }
             }
         }
         for (int dim = 0; dim < probnamatrica.GetLength(2); dim++)
         {
             for (int kol = 0; kol< probnamatrica.GetLength(1); kol++)
             {
                 for (int red = 0; red < probnamatrica.GetLength(0); red++)
                 {
                     Console.Write("\t " + probnamatrica[red, kol,dim]);
                 }
             }
             Console.WriteLine();
         }





【问题讨论】:

    标签: c# multidimensional-array console.writeline


    【解决方案1】:

    我能看到的唯一区别是“|”之前的空格在它之后。

    我认为这条线是罪魁祸首:

    Console.Write("\t " + probnamatrica[red, kol,dim]);
    

    您正在向字符串添加 \t 后跟一个空格。当您似乎想要一个空格时,后跟 \t 或“\t”。但是我非常不确定 \t 是如何导致竖线的。

    作为一个更一般的建议,您可能希望使用一个包含所有 12 个数字的一​​维数组,一个循环,然后分别在第 3 个和第 6 个数字添加这个特殊字符和换行符。你在那里写的东西过于复杂而且不是很健壮。

    这似乎是一个家庭作业,所以我不打算提供代码。这完全是一个带有更改字符的FizzBuzz 问题。 只是一个一般的方向:Modulo Operator。如果 Division 的其余部分等于 0,则它可以整除。

    【讨论】:

    • 嗨克里斯托弗。感谢你的回复。 “|”符号只是显示哪些元素属于哪个矩阵的一种方式。我的代码不输出它。这是一项家庭作业,但如果它不显示它应该做的事情,它就不是很好。
    猜你喜欢
    • 2022-11-24
    • 2017-05-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-06-17
    • 2015-07-21
    • 1970-01-01
    相关资源
    最近更新 更多