九度 题目1489:计算两个矩阵的乘积
2014-07-25 13:34
316 查看
题目来源:http://ac.jobdu.com/problem.php?pid=1489
题目1489:计算两个矩阵的乘积
时间限制:1 秒
内存限制:128 兆
特殊判题:否
提交:2850
解决:608
题目描述:
计算两个矩阵的乘积,第一个是2*3,第二个是3*2
输入:
输入为两个矩阵,其中一个为2*3的矩阵,另一个为3*2的矩阵
输出:
一个2*2的矩阵(每一个数字后都跟一个空格)
样例输入:
样例输出:
来源:2012年哈尔滨工业大学计算机研究生机试真题
题目1489:计算两个矩阵的乘积
时间限制:1 秒
内存限制:128 兆
特殊判题:否
提交:2850
解决:608
题目描述:
计算两个矩阵的乘积,第一个是2*3,第二个是3*2
输入:
输入为两个矩阵,其中一个为2*3的矩阵,另一个为3*2的矩阵
输出:
一个2*2的矩阵(每一个数字后都跟一个空格)
样例输入:
1 2 3 3 4 5 6 7 8 9 10 11
样例输出:
52 58 100 112
来源:2012年哈尔滨工业大学计算机研究生机试真题
#include <iostream> #include <cstdio> #include <cstring> using namespace std; const int MAXN = 3; struct MatrixNode { int iMatrix[MAXN][MAXN]; MatrixNode() { memset(iMatrix, 0, sizeof(iMatrix)); } }; typedef MatrixNode Matrix; Matrix Multi_Matrix(Matrix a, Matrix b, int iRow1, int iCol1, int iRow2, int iCol2) { Matrix iCell; int i, j, k; for(i = 0; i < iRow1; ++i) { for(j = 0; j < iCol2; ++j) { iCell.iMatrix[i][j] = 0; for(k = 0; k < iCol1; ++k) iCell.iMatrix[i][j] += a.iMatrix[i][k] * b.iMatrix[k][j]; } } return iCell; } int main() { int i, j; Matrix a, b, c; while(scanf("%d %d %d", &a.iMatrix[0][0], &a.iMatrix[0][1], &a.iMatrix[0][2]) != EOF) { for(i = 1; i < 2; ++i) for(j = 0; j < 3; ++j) scanf("%d", &a.iMatrix[i][j]); for(i = 0; i < 3; ++i) for(j = 0; j < 2; ++j) scanf("%d", &b.iMatrix[i][j]); c = Multi_Matrix(a, b, 2, 3, 3, 2); for(i = 0; i < 2; ++i) { for(j = 0; j < 2; ++j) printf("%d ", c.iMatrix[i][j]); printf("\n"); } } return 0; }
相关文章推荐
- 题目1489:计算两个矩阵的乘积
- 题目1489:计算两个矩阵的乘积
- 题目1489:计算两个矩阵的乘积
- 题目1489:计算两个矩阵的乘积
- 题目1489:计算两个矩阵的乘积
- 九度oj_题目1489:计算两个矩阵的乘积
- 哈工大机考:计算两个矩阵的乘积
- 10、C++计算两个矩阵的乘积
- 计算两个矩阵的乘积
- 计算两个矩阵的乘积
- @大脑练习: 计算两个矩阵的乘积
- 1970 Problem F 计算两个矩阵的乘积
- concurrency::parallel_for 计算两个方形矩阵的乘积
- 关于矩阵的一些操作(求转置矩阵、行列式、矩阵的秩、矩阵的逆矩阵、两个矩阵的乘积矩阵)
- 九度OJ题目1000:计算a+b
- 九度OJ题目1000:计算a+b(用java编写)
- 题目1505:两个链表的第一个公共结点-九度
- 【LeetCode】Two Sum && 【九度】题目1352:和为S的两个数字
- [九度OnlineJudge][剑指Offer]题目1512:用两个栈实现队列
- 0904_两个小题目_二分查找和杨氏矩阵查找