我对我的代码输出有疑问。我输入了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
任何人都可以帮我解决这个问题,并可能解释为什么它没有显示出我的想象吗。对不起,我的英语不好。请记住,“红色”是行,“ 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();
}
答案 0 :(得分:0)
我唯一看到的区别是空格从“ |”之前移动到之后。
我认为这是罪魁祸首:
Console.Write("\t " + probnamatrica[red, kol,dim]);
您要在\ t后面加上一个空格。当您似乎想要空格时,后跟\ t或“ \ t”。但是,我非常不确定\ t是如何导致垂直线的。
作为更一般的建议,您可能想使用按顺序排列所有12个数字的一维数组,一个循环,然后jsut分别在第3个和第6个数字上添加此特殊字符和换行符。您在此处编写的内容过于复杂且不够鲁棒。
这似乎是一项家庭作业,所以我将不提供代码。完全是一个FizzBuzz问题,字符已更改。 只是一般情况:Modulo Operator。如果除法的其余部分等于0,则可以被整除。