using System;
public class MartixMultiply
{
public static void Main()
{
int[,] matrixA = new int[2,3];
int[,] matrixB = new int[3,4]{{4,2,1,7},{3,6,1,0},{5,3,2,4}};
//声明一个矩阵C用于存放矩阵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;i<2;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*********矩阵C*************");
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<columnCount;i++)
{
Console.Write(matrixX+"\t");
}
//换行
Console.WriteLine();
}
}