📄 matrixmultiply.cs
字号:
using System;
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();
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -