编程实战の计蒜客 矩阵乘法
来源:互联网 发布:旺旺聊天软件下载 编辑:程序博客网 时间:2024/06/05 18:50
题目
给定一个 m 行、n列的矩阵 A和一个 n行、m 列的矩阵 B。你需要用矩阵 A 与矩阵 B 相乘,并且将 m行 m 列的乘积结果输出。
例如,对于矩阵 A =
他们的乘积会是
输入格式:
测评机会反复运行你写的程序。每次程序运行时,首先在第一行输入 2 个整数,分别对应题目描述中的 m 和 n(1≤m,n≤10),两个整数之间用一个空格分隔。
接下来 m 行,每行包含 n 个整数,每两个整数之间用一个空格分隔。对应 m 行 n 列的矩阵 A。
再接下来 n 行,每行包含 m 个整数,每两个整数之间用一个空格分隔。对应 n 行 m 列的矩阵 B。
注:矩阵中的整数均大于等于 -100,小于等于 100。
输出格式:
输出包括 m 行,每行包含 m 个整数,对应矩阵 AA 乘矩阵 BB 的结果。
每两个整数之间一个空格,每行最后一个整数后面没有空格。
样例输入1
2 22 33 13 24 3
样例输出1
18 1313 9
样例输入2
2 31 2 33 4 61 23 45 6
样例输出2
22 2845 58
样例输入3
3 21 23 45 61 2 33 4 6
样例输出3
7 10 1515 22 3323 34 51
解:
AC代码
#include <iostream>#include <vector>using namespace std;int main() { int m; int n; cin>>m>>n; int temp; vector<vector<int>> matrix_a(m); vector<vector<int>> matrix_b(n); vector<vector<int>> matrix_c(m); for(int i=0;i<m;i++) //输入矩阵A { for(int j=0;j<n;j++) { int input; cin>>input; matrix_a[i].push_back(input); } } for(int i=0;i<n;i++) //输入矩阵B { for(int j=0;j<m;j++) { int input; cin>>input; matrix_b[i].push_back(input); } } for(int i=0;i<m;i++)//计算模块 { for(int j=0;j<m;j++) { int input=0; for(int x=0;x<n;x++)//按行计算矩阵的结果 { input += matrix_a[i][x]*matrix_b[x][j];//对应行列元素相乘并相加得到对应输出矩阵元素 } matrix_c[i].push_back(input); } } for(int i=0;i<m;i++)//输出模块 { for(int j=0;j<m;j++) { if(j<m-1) cout<<matrix_c[i][j]<<" "; else cout<<matrix_c[i][j]; } cout<<endl; } return 0;}
阅读全文
1 0
- 编程实战の计蒜客 矩阵乘法
- cuda编程------矩阵乘法
- 多线程编程-矩阵乘法
- 矩阵的乘法-编程心得
- C++模板实战8:矩阵乘法
- 编程练习-动态规划(矩阵乘法)
- 3D数学 矩阵乘法编程
- 【图像处理】NEON编程3 矩阵乘法
- CUDA编程(九)并行矩阵乘法
- CUDA编程(九)并行矩阵乘法
- 矩阵乘法
- 矩阵乘法
- 矩阵乘法
- 矩阵乘法
- 矩阵乘法
- 矩阵乘法
- 矩阵乘法
- 矩阵乘法
- leetcode:Unique Substrings in Wraparound String
- MySQL学习(一)
- Linux初学笔记
- 黑马——LINUX学习笔记(二)
- 状态选择器
- 编程实战の计蒜客 矩阵乘法
- 字符数组和字符指针
- 离散题目1
- git
- Java中Unsafe类详解
- 从零开始编写深度学习库(五)ConvolutionLayer CPU编写
- Kafka+Spark Streaming+Redis实时计算整合实践
- CAP 可能是CAP理论的最好解释
- RecyclerView的详细使用