您的位置:首页 > 其它

题目1489:计算两个矩阵的乘积

2013-03-04 09:38 239 查看
题目1489:计算两个矩阵的乘积

时间限制:1 秒

内存限制:128 兆

特殊判题:否

提交:134

解决:25

题目描述:

计算两个矩阵的乘积,第一个是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年哈尔滨工业大学计算机研究生机试真题

/********************************* 
*   日期:2013-3-4
*   作者:SJF0115 
*   题号: 九度OJ 题目1489:计算两个矩阵的乘积
*   来源:http://ac.jobdu.com/problem.php?pid=1489
*   结果:AC 
*   来源:2012年哈尔滨工业大学计算机研究生机试真题
*   总结: 
**********************************/ 
#include<stdio.h>
#include<stdlib.h>
#include<string.h>

int Matrix[2][3];
int Matrix2[3][2];

int main () {
	int i,j,k;
	int row = 2,col = 3;
	while(scanf("%d %d %d",&Matrix[0][0],&Matrix[0][1],&Matrix[0][2]) != EOF){
		int Matrix3[2][2] = {0};
		//输入第一个矩阵
		for(i = 1;i < row;i++){
			for(j = 0;j < col;j++){
				scanf("%d",&Matrix[i][j]);
			}
		}
		//输入第二个矩阵
		for(i = 0;i < col;i++){
			for(j = 0;j < row;j++){
				scanf("%d",&Matrix2[i][j]);
			}
		}
		//相乘
		for(i = 0;i < row;i++){
			for(j = 0;j < row;j++){
				for(k = 0;k < col;k++){
					Matrix3[i][j] += Matrix[i][k] * Matrix2[k][j];
				}
			}
		}
		
		//输出
		for(i = 0;i < row;i++){
			for(j = 0;j < row;j++){
				printf("%d ",Matrix3[i][j]);
			}
			printf("\n");
		}
	}
    return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: