Отображение номера индекса массива - PullRequest
0 голосов
/ 04 декабря 2018

Мне нужна помощь с C #

В настоящее время я пытаюсь найти минимальное значение в двумерном массиве.Мне удалось сделать это, однако, после того, как я нашел минимальное значение, я хочу, чтобы соответствующий номер индекса (где он хранится в моем 2D-массиве) был выведен.Например, у меня есть 2D и 1D массив.Как только минимальное значение было обнаружено, значение индекса для двумерного массива необходимо изменить в одномерном массиве.

2d-массив - это c [i, j], а 1D-массив - это [i]

так, как я смогу отобразить число j в моем массиве c в моем массиве.Например, если бы мое минимальное значение было в c [1,5], я бы хотел, чтобы значение в [5] было изменено с 0 на 1. Любая помощь будет большой благодарностью!

PS Если я сделал этот звук действительно запутанным, я прошу прощения, я новичок в этом!

   int n = 5, m = 10, MinValue = 100, MaxValue = 1, Total = 0, Sum = 0; //n = number of values    m = max value in array MinValue = Lowest number in array
        Random Rand = new Random();

        int[] A = new int[n + 1];

        for (int i = 1; i < n+1; i++)   //Reached and unreached array - creation
        {
            A[i] = 0;
        }
        A[1] = 1;

        int[,] c = new int[n + 1, n + 1];   //Create array


        for (int i = 1; i <= n; i++)
        {
            for (int j = 1; j <= n; j++)
            {
                c[i, j] = Rand.Next(1, m);      //Randomise the array
                if (i == j)
                {
                    c[i, j] = 99;               // give void spaces the value of 99
                }
                if (c[i, j] > MaxValue && c[i, j] < 99)
                {
                    MaxValue = c[i, j];     // max value takes the highest value (that isnt 99)
                }




            }

        }

        for (int p = 1; p <= n; p++)
        {
            for (int i = 1; i <= n+1; i++)
            {
                for (int j = 1; i <= n+1; i++)
                {
                    if (c[i, j] <= MinValue)
                    {
                        if (A[i] == 1)
                        {
                            if (A[i] == 0)
                            {
                                Total = Sum + MinValue;
                                Sum = Total;
                                A[i] = 1;

                            }
                        }
                    }
                }
            }
        }
        Console.WriteLine("Total Value = " + Total);
        Console.WriteLine("");


        Console.WriteLine("The tracking array - what has been reached and what hasn't"); // Output reaching array
        Console.WriteLine("");
        for (int i = 1; i <= n; i++)
        {
                Console.WriteLine("A[" + i +  "] = " + A[i].ToString("00") + " ");

            //Output the array to screen
        }
        Console.WriteLine("");
        Console.WriteLine("The link length array"); // Output link length array
        Console.WriteLine("");

        for (int i = 1; i <= n; i++)
        {
            for (int j = 1; j <= n; j++)
            {
                Console.Write("c[" + i + "," + j + "] = " + c[i, j].ToString("00") + " ");

            }
            Console.WriteLine();
            //Output the array to screen
        }

        Console.WriteLine("");
        Console.ReadLine();
...