我想在数组的结尾而不是开头开始搜索数组中的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;
    }

07-24 09:51
查看更多