4041:矩阵运算
总时间限制: 1000ms 内存限制: 65536kB
描述
矩阵有以下两种运算方式:矩阵乘法和矩阵转置

矩阵乘法的计算方法定义为:
对于矩阵A[m][q]*B[q][n],
相乘的结果为矩阵C[m][n]且对于矩阵C中每一项都有
C[i][j] = A[i][0]*B[0][j] + A[i][1]*B[1][j] + … + A[i][q]*B[q][j]
注意只有当前一矩阵A的列数等于后一矩阵B的行数时两个矩阵才能相乘。

矩阵的转置定义为:
交换矩阵C[m][q]中所有的行列元素所得到的矩阵C’[q][m]称为矩阵C的转置矩阵,即C’[i][j]=C[j][i] (1 <= i <= q, 1 <= j <= m)。

现在给定矩阵A和B,请你计算矩阵A*矩阵B的乘积结果的转置矩阵,如果矩阵A和矩阵B不能进行乘法运算则直接计算矩阵A的转置矩阵。

输入
两个矩阵A和B
第一行为矩阵的大小,后面跟着输入矩阵,所有元素都是整数,矩阵的行和列大小不超过100
x1,y1
a00 a01 a02
a10 a11 a12
a20 a21 a22
a30 a31 a32

x2,y2
b00 b01 b02 b03 b04
b10 b11 b12 b13 b14
b20 b21 b22 b23 b24
输出
矩阵C’或A’
c00 c01 c02 c03 c04
c10 c11 c12 c13 c14
c20 c21 c22 c23 c24
c30 c31 c32 c33 c34
样例输入
4 3
1 2 3
4 5 6
7 8 9
10 11 12
3 5
7 8 9 10 11
4 5 6 7 8
1 2 3 4 5
样例输出
18 54 90 126
24 69 114 159
30 84 138 192
36 99 162 225
42 114 186 258
提示
输出格式 cout << setw(5) << c[i][j];
头文件要包含 < iomanip >

问题链接:Bailian4041 矩阵运算
问题简述:(略)
问题分析
    矩阵计算问题,按照数学定义进行计算即可。
    给出2个题解,分别用C++的格式化输出和C的格式化输出,可以做个比较。C++的格式化输出似乎更难以控制。
程序说明:(略)
参考链接:(略)
题记:(略)

AC的C++语言程序如下:

/* Bailian4041 矩阵运算 */#include <iostream>
#include <iomanip>using namespace std;const int N = 100;
int a[N][N], b[N][N], c[N][N];void print(int a[][N], int x, int y)
{for(int i = 0; i < y; i++) {for(int j = 0; j < x; j++)cout << setw(5) << a[j][i];cout << endl;}
}int main()
{int x1, x2, y1, y2;cin >> x1 >> y1;for(int i = 0; i < x1; i++)for(int j = 0; j < y1; j++)cin >> a[i][j];cin >> x2 >> y2;for(int i = 0; i < x2; i++)for(int j = 0; j < y2; j++)cin >> b[i][j];if(y1 == x2) {for(int i = 0; i < x1; i++)for(int j = 0; j < y2; j++) {c[i][j] = 0;for(int k = 0; k < x2; k++)c[i][j] += a[i][k] * b[k][j];}print(c, x1, y2);} elseprint(a, x1, y1);return 0;
}

AC的C++语言程序如下:

/* Bailian4041 矩阵运算 */#include <iostream>
#include <cstdio>using namespace std;const int N = 100;
int a[N][N], b[N][N], c[N][N];void print(int a[][N], int x, int y)
{for(int i = 0; i < y; i++) {for(int j = 0; j < x; j++)printf("%5d", a[j][i]);printf("\n");}
}int main()
{int x1, x2, y1, y2;cin >> x1 >> y1;for(int i = 0; i < x1; i++)for(int j = 0; j < y1; j++)cin >> a[i][j];cin >> x2 >> y2;for(int i = 0; i < x2; i++)for(int j = 0; j < y2; j++)cin >> b[i][j];if(y1 == x2) {for(int i = 0; i < x1; i++)for(int j = 0; j < y2; j++) {c[i][j] = 0;for(int k = 0; k < x2; k++)c[i][j] += a[i][k] * b[k][j];}print(c, x1, y2);} elseprint(a, x1, y1);return 0;
}

Bailian4041 矩阵运算【数学计算】相关推荐

  1. js函数语法:ASCII 码的相互转换,字符串操作,数学计算

    ASCII 码的相互转换 for (let i = 'a'.charCodeAt(); i <= 'z'.charCodeAt(); i++) {a.push(String.fromCharCo ...

  2. P4588 [TJOI2018]数学计算(线段树维护区间乘和单点修改)

    P4588 [TJOI2018]数学计算 刚看到这题根本每想到用线段树,直接每次记录计算结果然后找到要除的数字就好了呗 但是!你会注意到,如果连续乘很多很多次,然后再除的话,如果不取模会爆 long ...

  3. MATLAB数学计算与工程分析范例教程,MATLAB数学计算与工程分析范例教程

    基本信息 书名:MATLAB数学计算与工程分析范例教程 定价:28.00元 作者:石博强,赵金 编著 出版社:中国铁道出版社 出版日期:2005-05-01 ISBN:9787#113057596 字 ...

  4. Shell脚本笔记(三)shell中的数学计算

    shell中的数学计算 一.使用方括号 #!/bin/bash a=10 b=29 c=88res=$[$a * ($c-$b)] echo $res 二.使用(()) echo $((1+9)) ( ...

  5. python数值运算答案_笨方法学Python 习题3:数字和数学计算

    数字和数学计算 print("I will now count my chickens") print("Hens",25+30/6) print(" ...

  6. 用计算机计算的手抄报内容,关于数学计算手抄报

    开办手抄报对学生是一项综合性很强的实践活动.下面是学习啦小编为大家带来的关于数学计算手抄报,希望大家喜欢. 数学计算手抄报的图片欣赏 数学计算手抄报图一 数学计算手抄报图二 数学计算手抄报图三 数学计 ...

  7. php+数学计算公式,PHP数学计算函数总结

    PHP数学计算函数总结 发布于 2015-01-21 16:53:26 | 189 次阅读 | 评论: 0 | 来源: 网友投递 PHP开源脚本语言PHP(外文名: Hypertext Preproc ...

  8. 《“笨办法”学Python(第3版)》——习题3 数字和数学计算

    本节书摘来自异步社区<"笨办法"学Python(第3版)>一书中的习题3,作者[美]Zed A. Shaw,王巍巍 译,更多章节内容可以访问云栖社区"异步社区 ...

  9. R开发(part2)--R语言中的数学计算

    学习笔记,仅供参考,有错必纠 参考自:<R的极客理想>-- 张丹 文章目录 R开发 R语言中的数学计算 对数 加权平均.连乘.差分.秩.任意数.全体数 阶乘.组合.排列 累加.累乘.最小累 ...

最新文章

  1. 大部分公司并不需要微服务
  2. python里graphics的使用_使用graphics.py实现2048小游戏
  3. 企业实战(Jenkins+GitLab+SonarQube)_05_Jenkins创建管理员用户
  4. NSString的比较专栏
  5. HBase 完全分布式的安装
  6. 函的红头文件格式制作_如何利用Word“智能函头”简单制作“红头文件”公文模板...
  7. 圆锥体积等于1/3圆柱体积咋来的
  8. 利用Veeam BackupReplication工具实现vsphere虚拟机备份
  9. KBL406-ASEMI整流桥KBL406
  10. mips和sparc交叉编译工具链网址
  11. html 斜线表头,HTML 斜线 表头
  12. Python-阿里云地图的爬取
  13. 2019-11 前端技术汇总
  14. SONY新的圈铁耳机
  15. HTML/Javascript game start menu:游戏开始界面(附代码)
  16. java计算机毕业设计宠物店管理系统设计与实现(附源码、数据库)
  17. 机器人理论与应用技术学习总结
  18. Ubuntu和ROS的一些常用命令和简单问题
  19. CookieJar下载并使用cookies
  20. [附源码]java毕业设计网易云音乐推荐系统

热门文章

  1. 用到的python组件
  2. “订阅”与“反向订阅”--简书功能设计探索
  3. GDAL读写矢量文件——C#
  4. mysql union 别名报错_MySQL中UNION和UNION ALL的使用
  5. jquery中ajax请求分类
  6. Kubeadm installation
  7. linux haokande shell,5 个 PowerShell 主题,让你的 Windows 终端更好看
  8. java基础知识梳理_java基础知识点梳理3
  9. mongodb 字符串转bson_MongoDB之bson的介绍
  10. oracle两表联查分页公式,Oracle中分页查询和联表查询