码迷,mamicode.com
首页 > 编程语言 > 详细

【C++小白成长撸】--矩阵乘法程序

时间:2016-10-27 00:24:29      阅读:238      评论:0      收藏:0      [点我收藏+]

标签:学生   name   其他   com   owa   space   解决   最大   成长   

矩阵乘法是大学矩阵课程中,相比矩阵加减法比较困难的部分。

矩阵乘法的原理:

技术分享

矩阵乘法在代码中实现

得到目标矩阵的一个元素,涉及两个求和符号,一个求和符号一个for循环,两个求和符号两个for循环,再加上是二维数组,再加一个for循环

 

以下呈现出代码

 1 /*程序的版权和版本声明部分:
 2 **Copyright(c) 2016,电子科技大学本科生二年级学生
 3 **All rights reserved.
 4 **文件名:矩阵乘法
 5 **程序作用:矩阵乘法
 6 **作者:Amoshen
 7 **完成日期:2016.10.26
 8 **版本号:V1.0
 9 */
10 #include <iostream>
11 
12 using namespace std;
13 #define MAX_SIZE 10
14 
15 int main(void)
16 {
17     int i = 0,j = 0,m = 0,NumOfRowA,NumOfColA,NumOfColB,s = 0;//i为第一矩阵(A)的行变量,j为第一矩阵的列变量,同时为第二矩阵的列变量,m为第二矩阵(B)的列变量
18     int a[MAX_SIZE][MAX_SIZE],b[MAX_SIZE][MAX_SIZE],c[MAX_SIZE][MAX_SIZE];//MAX_SIZE为二维数组最大值。因为二维数组不能长度不能为变量,所以找个最大值(如果各位有什么其他解决这个问题,请指教)
19 
20     cout << "输入的行列数均不能大于10!!!!" <<endl;
21 
22     cout << "请输入A矩阵相关信息:"<<endl;
23     cout <<"行 NumOfRowA = ";
24     cin >> NumOfRowA;
25     cout <<"列 NumOfColA = ";
26     cin >> NumOfColA;
27 
28     cout << "请输入B矩阵相关信息:"<<endl;
29     cout <<"列 NumOfColB = ";
30     cin >> NumOfColB;
31     //用户自定义矩阵元素
32     cout << "请输入A矩阵的元素"<<endl;
33 
34     for(i = 0;i < NumOfRowA;i++)
35     {
36         for(j = 0;j < NumOfColA;j++)
37         {
38             cin >> a[i][j];
39         }
40     }
41 
42     cout << "请输入B矩阵的元素"<<endl;
43 
44     for(j = 0;j < NumOfColA;j++)
45     {
46         for(m = 0;m < NumOfColB;m++)
47         {
48             cin >> b[j][m];
49         }
50     }
51     //矩阵乘法的实现
52     for(i = 0;i < NumOfRowA;i++)
53     {
54         for(m = 0;m < NumOfColB;m++)
55         {
56             for(j = 0;j < NumOfColA;j++)
57             {
58                 s = s + a[i][j] * b[j][m];
59             }
60             c[i][m] = s;
61             s = 0;
62         }
63     }
64 
65     cout << "矩阵乘法的结果:" <<endl;
66     //输出矩阵结果
67     for(i = 0; i < NumOfRowA;i++)
68     {
69         for(j = 0;j < NumOfColB;j++)
70         {
71             cout << c[i][j] <<"\t";
72         }
73         cout << endl;
74     }
75 
76     return 0;
77 }

 

【C++小白成长撸】--矩阵乘法程序

标签:学生   name   其他   com   owa   space   解决   最大   成长   

原文地址:http://www.cnblogs.com/zpc-uestc/p/6002243.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!