• 矩阵乘法


      static void Main(string[] args)
            {
                Console.WriteLine("请录入第一个数组:");
                double[,] arr1 = InputArr();
                Console.WriteLine("请录入第二个数组:");
                double[,] arr2 = InputArr();
                int rowsCount = arr1.GetLength(0);
                int colsCount = arr2.GetLength(1);
                int comCount = arr1.GetLength(1);
                int[,] result = new int[rowsCount, colsCount];
                Console.WriteLine("两个数组的乘积为:");
                for (int i = 0; i < rowsCount; i++)
                {
                    for (int j = 0; j < colsCount; j++)
                    {
                        Console.Write("	{0}", GetResult(i, j, comCount, arr1, arr2));
                    }
                    Console.WriteLine();
                }
                Console.ReadLine();
    
            }
            private static double[,] InputArr()
            {
                try
                {
                    Console.WriteLine("请输入数组结构,例如:4,2");
                    string[] arrLen = Console.ReadLine().Split(',');
                    int rowsLen = Convert.ToInt32(arrLen[0]);
                    int colsLen = Convert.ToInt32(arrLen[1]);
                    double[,] result = new double[rowsLen, colsLen];
                    Console.WriteLine("请输入每一行数据,例如:1,2,3,4,7,8");
                    for (int i = 0; i < rowsLen; i++)
                    {
                        string[] row = Console.ReadLine().Split(',');
                        for (int j = 0; j < colsLen; j++)
                        {
                            result[i, j] = Convert.ToDouble(row[j]);
                        }
                    }
                    Console.WriteLine("数组录入完成:");
                    for (int i = 0; i < rowsLen; i++)
                    {
                        for (int j = 0; j < colsLen; j++)
                        {
                            Console.Write("	{0}", result[i, j]);
                        }
                        Console.WriteLine();
                    }
                    return result;
                }
                catch (Exception ex)
                {
                    Console.WriteLine("数据录入异常!");
                    return null;
                }
    
            }
            private static double GetResult(int row, int col, int len, double[,] arr1, double[,] arr2)
            {
                double result = 0;
                for (int temp = 0; temp < len; temp++)
                {
                    result += arr1[row, temp] * arr2[temp, col];
                }
                return result;
            }
  • 相关阅读:
    0_Simple__simplePrintf
    0_Simple__simplePitchLinearTexture
    0_Simple__simpleP2P
    0_Simple__simpleOccupancy
    0_Simple__MultiGPU
    0_Simple__simpleMultiCopy
    0_Simple__simpleMPI
    0_Simple__simpleLayeredTexture
    0_Simple__simpleCubemapTexture
    0_Simple__simpleCooperativeGroups
  • 原文地址:https://www.cnblogs.com/jasonlwings/p/3465056.html
Copyright © 2020-2023  润新知