【发布时间】:2019-02-06 22:56:17
【问题描述】:
基本上我有一个如下所示的二维数组:
0 x x -1
x 0 x x
x x 0 x
-1 x x 0
如果使用两个索引为“i”和“j”的 for 循环(嵌套)并且它们彼此相等,例如i 和 j = 2,那么放在 array[i, j] 中的值将是 '0'。如果 'i' = array.Length - 1 和 'j' = 0(反之亦然),则 array[i, j] 中的值将为 -1。
我正在尝试将 1 到 20 之间的随机数放在由“x”表示的位置。我知道如何做到这一点,但是,我希望“0”另一侧的“x”中的数字相等。例如,
值@i = 2, j = 3 等于值@i = 3, j = 2。
现在我已经在之前的程序中这样做了:
array[j, i] = array[i, j]
但由于某些原因,在这个新程序中,这根本不再起作用。
怎么了?
这是实际代码:
size = r.Next(4, 8);
V = new int[size, size];
for (int i = 0; i < size; i++)
{
s = "";
for (int j = 0; j < size; j++)
{
if (i == j)
{
V[i, j] = 0;
}
else if ((i == size - 1 && j == 0) || (i == 0 && j == size - 1))
{
V[i, j] = -1;
}
else
{
V[i, j] = r.Next(1, 20);
}
V[j, i] = V[i, j];
s += "|" + V[i, j] + "|";
}
Console.WriteLine(s);
}
Console.Read();
【问题讨论】:
标签: c# arrays for-loop console 2d