_12_矩阵__MatrixMultiply

public class MatrixMultiply
{
    public static void Main()
    {
        // 声明一个2行3列的两维数组,用于存放矩阵A
        int[,] matrixA = new int[2,3];

        // 声明一个3行4列的两维数组,用于存放矩阵B
        // 初始化矩阵B
        int[,] matrixB = new int[3,4]{ {4,2,1,7}, {3,6,1,0}, {5,3,2,4} };

        // 声明一个2行4列的两维数组,用于存放矩阵A和矩阵B的乘积
        int[,] matrixC = new int[2,4];

        // 初始化矩阵A
        for(int i = 0; i < 2; i++)
        {
            for(int j = 0; j < 3; j++)
            {
                matrixA[i,j] = (i + 2) * (j + 2) + 1;
            }
        }

        // 计算矩阵A和矩阵B的乘积
        for(int i = 0; i < 2; i++)
        {
            for(int j = 0; j < 4; j++)
            {
                // 初始化矩阵C
                matrixC[i,j] = 0;

                // 计算矩阵A和矩阵B的乘积,并把值存放在矩阵C中
                for(int k = 0; k < 3; k++)
                {
                    matrixC[i,j] += matrixA[i,k] * matrixB[k,j];
                }
            }
        }

        // 打印矩阵A
        Console.WriteLine("\n********矩阵A********");
        outputMatrix(matrixA, 2, 3);

        // 打印矩阵B
        Console.WriteLine("\n********矩阵B********");
        outputMatrix(matrixB, 3, 4);

        // 打印矩阵C
        Console.WriteLine("\n********矩阵A X 矩阵B********");
        outputMatrix(matrixC, 2, 4);
    }

    // 功能: 输出矩阵
    // 参数: 
    //        matrixX       : 待打印的矩阵
    //        rowCount      : 矩阵的行数
    //        columnCount   : 矩阵的列数
    private static void outputMatrix(int[,] matrixX, int rowCount, int columnCount)
    {
        // 如果行列数错误,则不打印矩阵
        if(matrixX.Length != rowCount * columnCount)
        {
            Console.WriteLine("行列数错误!");
            return ;
        }
        
        // 打印矩阵
        for(int i = 0; i < rowCount; i++)
        {
            // 逐一打印各行中所有元素
            for(int j = 0; j < columnCount; j++)
            {
                Console.Write(matrixX[i,j] + "\t");
            }

            // 换行
            Console.WriteLine();
        }
    }
}

 

 

运行结果:

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值