C#[i,j]将矩阵的最小“ j”值添加到新数组吗?

时间:2019-12-11 12:18:29

标签: c# arrays .net matrix

[i,j]将矩阵的最大值添加到新数组j中 它在这里:

但是最小的行不通.. “ j”中的最小值(无效)

for (int i = 0; i < olay; i++)
    {
        for (int j = 0; j < state; j++)
        {
            if (minimax[i] > matris[i, j])
            {
                minimax[i] = matris[i, j];
            }
        }
    }

    Console.WriteLine();
    for (int i = 0; i < minimax.Length; i++)
    {
        Console.WriteLine(i + 1 + ". MINIMAX " + minimax[i]);
    }

    Console.ReadLine();
    }

“ J”中的最大值(工作)

   for (int i = 0; i < olay; i++)
        {
            for (int j = 0; j < state; j++)
            {
                if (maximax[i] < matris[i, j])
                {
                    maximax[i] = matris[i, j];
                }
            }
        }

        /* Olaylar icin en yuksek State degerleri */
        Console.WriteLine();
        for (int i = 0; i < maximax.Length; i++)
        {
            Console.WriteLine(i + 1 + ". MAXIMAX " + maximax[i]);
        }

输出控制台: IMGLınk:https://pasteboard.co/IKKQlet.jpg

2 个答案:

答案 0 :(得分:2)

数组中的默认值为0。 要计算每列中的最小值并将其写入数组,您可以执行以下操作:

    var resultArray = new int[rowLength];
    var matrix = new int[rowLength, columnLength];

    for (int i = 0; i < rowLength; i++)
    {
        // you have to set the first value as a minimum and after that compare
        resultArray[i] = matrix[i, 0];

        for (int j = 1; j < columnLength; j++)
        {
            if (matrix[i, j] < resultArray[i])
            {
                resultArray[i] = matrix[i, j];
            }
        }
    }

请检查链接:https://www.geeksforgeeks.org/minimum-element-of-each-row-and-each-column-in-a-matrix/

答案 1 :(得分:0)

也可以考虑使用MinMax扩展方法,而不是if...else比较。

//Example:
int[][] jag = new int[10][];
var rand = new Random();

for(int i = 0; i <= jag.GetUpperBound(0); i++)
{
    jag[i] = new int[4] {
        rand.Next(0, 25),
        rand.Next(26, 50),
        rand.Next(51, 75),
        rand.Next(76, 101),
    };

    Console.WriteLine($"Min: {jag[i].Min()} Max: {jag[i].Max()}");
}