我想在数组的结尾而不是开头开始搜索数组中的int
。我该怎么做呢?
请记住,这是一个2D阵列。
编辑某人从一开始就问我如何搜索:
在我的代码文件中,我从8x8打印一个矩阵,显示随机数(1-10)。用户在矩阵中给出一个要搜索的数字,然后代码返回找到该数字的位置:
Position position = new Position();
Position LookForNumber(int[,] matrix, int findNumber)
{
for (int r = 0; r < matrix.GetLength(0); r++)
{
for (int c = 0; c < matrix.GetLength(1); c++)
{
if (matrix[r, c] == findNumber)
{
Console.WriteLine("Your number {0} first appears on position {1},{2}", findNumber, r, c);
position.row = r;
position.column = c;
return position;
}
}
}
return position;
}
现在,我想找到用户放弃的号码的最后位置。
最佳答案
要搜索2D数组,您需要2个循环,但是您可以按显示顺序进行循环:
Position LookForNumber(int[,] matrix, int findNumber)
{
Position position = new Position();
for (int r = matrix.GetLength(0) - 1; r >= 0 ; r--)
{
for (int c = matrix.GetLength(1) - 1; c >= 0 ; c--)
{
if (matrix[r, c] == findNumber)
{
Console.WriteLine("Your number {0} first appears on position
{1},{2}", findNumber, r, c);
position.row = r;
position.column = c;
return position;
}
}
}
return null;
}