矩阵相乘(C案例)
2016-05-14 11:03
756 查看
在主函数中输入m和n ,n<=5,m>0
分别定义矩阵A(m X n),B(n X m)和C(m X m )
从键盘读入矩阵A和B中元素的值。
调用自定义子函数multiply()计算矩阵C=A XB
并在主函数中输出矩阵C。
例如:
分别定义矩阵A(m X n),B(n X m)和C(m X m )
从键盘读入矩阵A和B中元素的值。
调用自定义子函数multiply()计算矩阵C=A XB
并在主函数中输出矩阵C。
例如:
Input m and n (1~5):4 3 Input A: 1 2 3 4 5 6 7 8 9 10 11 12 Input B: 1 2 3 4 4 5 6 8 7 8 9 10 C=A*B is: 30 36 42 50 66 81 96 116 102 126 150 182 138 171 204 248
#include "stdafx.h" void multiply(int (*A)[5],int (*B)[5],int m,int n,int (*C)[5]) { int i,j,k,l; for (k=0;k<m;k++) for (l=0;l<m;l++) for (j=0;j<n;j++) *(*(C+k)+l)+=(*(*(A+k)+j) * *(*(B+j)+l)); } void main() { int Amn[5][5]={},Bnm[5][5]={},Cmm[5][5]={},m,n,i,j; printf("Input m and n (1~5):"); scanf("%d %d",&m,&n); printf("Input A:\n"); for(i=0;i<m;i++) for (j=0;j<n;j++) scanf("%d",&Amn[i][j]); printf("Input B:\n"); for(i=0;i<n;i++) for (j=0;j<m;j++) scanf("%d",&Bnm[i][j]); multiply(Amn,Bnm,m,n,Cmm); printf("C=A x B is\n"); for (i=0;i<m;i++) { for (j=0;j<m;j++) printf("%-5d ",Cmm[i][j]); printf("\n"); } }
相关文章推荐
- APP开发实战15-字符编码介绍
- C# 知识汇总(二)
- Binary Tree Level Order Traversal II
- Eclipse安装Maven插件
- 第10、11周项目2 存储班长信息的学生类
- app上传新版本后用户从appStore下载打开应用就闪退
- Codeforces 307 div2 E.GukiZ and GukiZiana 分块
- 营销型网站的8大策略
- 实现复数类中的运算符重载
- win下一些小工具
- unix编程(九)进程间通信
- APP开发实战14-APP开发人员所需知识
- jvm中分代垃圾回收和触发垃圾回收
- 如果四位数各位上的数字均是0或2或4或6或8,则统计出满足此条件的个数cnt,并把这些四位数按从大到小的顺序存入数组b中。(160514)
- 3518e 开启第三个串口uart2
- Linux之特殊权限(SUID/SGID/SBIT)
- 在 idea 中使用 gradle 导入maven仓库
- Android 编译ffmpeg
- java String.split()函数的用法分析
- iOS——UITableView的优化