企业项目管理、ORK、研发管理与敏捷开发工具平台

网站首页 > 精选文章 正文

用C++语言实现矩阵乘法

wudianyun 2024-12-15 16:37:58 精选文章 23 ℃

(一)矩阵a(2*3)与矩阵b(3*2)的乘积

(二)c++源代码:

#include<iostream>

#include<windows.h>

using namespace std;


int a[2][3]={{1,2,5},{0,4,3}},b[3][2]={{2,7},{3,1},{5,4}},c[2][2]={0};


int main()

{

for(int i=0;i<=1;i++) //i对应矩阵最终的行数

for(int j=0;j<=1;j++) //j对应矩阵最终的列数

{

c[i][j]=0;

for(int k=0;k<=2;k++) //k对应前矩阵的列数及后矩阵的行数

c[i][j]=c[i][j]+a[i][k]*b[k][j];

}

//以上是矩阵乘法的核心代码


SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_RED+FOREGROUND_INTENSITY);

cout<<"Matrix a:"<<endl;

for(i=0;i<=1;i++)

{

for(int j=0;j<=2;j++)

cout<<a[i][j]<<ends;

putchar(10);

}


SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_GREEN+FOREGROUND_INTENSITY);

cout<<"Matrix b:"<<endl;

for(i=0;i<=2;i++)

{

for(int j=0;j<=1;j++)

cout<<b[i][j]<<ends;

putchar(10);

}

SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_BLUE+FOREGROUND_INTENSITY);

cout<<"Matrix c:"<<endl;

for(i=0;i<=1;i++)

{

for(int j=0;j<=1;j++)

cout<<c[i][j]<<ends;

putchar(10);

}

system("pause>nul");

return 0;


}

(三)代码运行结果:


Tags:

最近发表
标签列表