繁体   English   中英

C#如何对二维数组矩阵进行算术运算

[英]C# how to do arithmetic operations on a 2d Array matrix

我一直在玩这个代码,它打印一个带有负数和正数的小矩阵,我想要一种有效的方法来仅将矩阵上的正元素相加并在特定数字后添加元素

   static void Main(string[] args)
            {
                int row = 5;
                int column = 5;  
    
                int[,] array = new int[row, column];
                Random rand = new Random();
    
                for (int i = 0; i < row; i++)
                {
                    for (int j = 0; j < column; j++)
                    {
                        array[i, j] = rand.Next(-5, 10);
    
                    }
                }
                for (int i = 0; i < array.GetLength(0); i++)
                {
                    for (int j = 0; j < array.GetLength(1); j++)
                    {
                        Console.Write(array[i, j].ToString() + "  ");
                    }
                    Console.WriteLine(" ");
    
                }
                Console.ReadLine();
}

要过滤和添加正矩阵元素,您可以执行以下操作:

static void Main(string[] args)
{
    const int rows = 5;
    const int columns = 5;

    var array = new int[rows, columns];
    var rand = new Random();

    int sum = 0;
    bool numberSeen = false;
    int numberToSee = 1;

    for (int row = 0; row < rows; row++)
    {
        for (int col = 0; col < columns; col++)
        {
            var cell = rand.Next(-5, 10);

            if (!numberSeen && (cell == numberToSee))
            {
                numberSeen = true;
            }

            array[row, col] = cell;

            if (numberSeen && (cell > 0))
            {
                sum += cell;
            }
        }
    }

    Console.WriteLine($"sum = {sum}");

    for (int row = 0; row < rows; row++)
    {
        for (int col = 0; col < columns; col++)
        {
            Console.Write(array[row, col].ToString() + "  ");
        }
        Console.WriteLine(" ");

    }
    Console.ReadLine();
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM