Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何在多维数组中查找值_C#_Arrays_Multidimensional Array_Find - Fatal编程技术网

C# 如何在多维数组中查找值

C# 如何在多维数组中查找值,c#,arrays,multidimensional-array,find,C#,Arrays,Multidimensional Array,Find,我想知道如何查找用户键入的号码,以便打印该号码。这个想法是从左到右,从上到下,从下到上阅读。这是到目前为止我的代码 using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace opgave1 { class Program { static void Main(string

我想知道如何查找用户键入的号码,以便打印该号码。这个想法是从左到右,从上到下,从下到上阅读。这是到目前为止我的代码

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace opgave1
{
    class Program
    {
        static void Main(string[] args)
        {


            int R = 8;
            int K = 10;
            int[,] matrix = new int[R, K];

            PrintMatrix(matrix, R, K);



            Console.Write("give a number: ");
            int nummer = int.Parse(Console.ReadLine());
//TODO TDO TODOOD 


            Console.ReadKey();


        }


        private static void PrintMatrix(int[,] matrix, int R, int K)
        {

            Random random = new Random();
            for (int h = 0; h < R; h++)
            {

                for (int k = 0; k < K; k++)
                {
                    matrix[h, k] = random.Next(1, 101);
                    Console.Write("{0,3}", matrix[h, k]);

                }
                Console.WriteLine();


            }
        }



    }
}
使用系统;
使用System.Collections.Generic;
使用System.Linq;
使用系统文本;
使用System.Threading.Tasks;
名称空间opgave1
{
班级计划
{
静态void Main(字符串[]参数)
{
int R=8;
int K=10;
int[,]矩阵=新的int[R,K];
打印矩阵(矩阵,R,K);
控制台。写(“给出一个数字:”);
int nummer=int.Parse(Console.ReadLine());
//今天,今天
Console.ReadKey();
}
私有静态void打印矩阵(int[,]矩阵,int R,int K)
{
随机=新随机();
对于(int h=0;h
在主程序中,将Console.ReadKey()替换为:

int num = Convert.ToInt32(Console.ReadLine());
解决这个问题的一种方法是使用暴力。在嵌套循环中遍历整个矩阵,并逐个找到元素。在C#中,不需要传递数组的长度和宽度,因此跳过R和K,在
PrintMatrix()
函数中使用,并从输入矩阵本身计算

        private static void Print(int[,] matrix, int num)
    {

        Random random = new Random();
        int R = matrix.GetLength(0);
        int K = matrix.GetLength(1);
        for (int h = 0; h < R; h++)
        {

            for (int k = 0; k < K; k++)
            {
                if(matrix[h, k] == num)
                     Console.Write("{0,1}", h,k);

            }
            Console.WriteLine();


        }
    }
私有静态无效打印(int[,]矩阵,int num)
{
随机=新随机();
int R=matrix.GetLength(0);
int K=矩阵.GetLength(1);
对于(int h=0;h
另一种方法是使用hashmap,在这里可以预处理创建的矩阵,并将矩阵元素保存为键,将索引保存为值