首页 > 代码库 > _12_矩阵__MatrixMultiply
_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(); } }}
运行结果:
_12_矩阵__MatrixMultiply
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。