信息学奥赛一本通C++语言——1125:矩阵乘法
生活随笔
收集整理的這篇文章主要介紹了
信息学奥赛一本通C++语言——1125:矩阵乘法
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
【題目描述】
計算兩個矩陣的乘法。n×m階的矩陣A乘以m×k階的矩陣B得到的矩陣C 是n×k階的,且C[i][j] = A[i][0]×B[0][j] + A[i][1]×B[1][j] + …… +A[i][m-1]×B[m-1]j。
【輸入】
相鄰兩個整數之間用單個空格隔開,每個元素均在1~1000之間。第一行為n, m, k,表示A矩陣是n行m列,B矩陣是m行k列,n, m, k均小于100。
然后先后輸入A和B兩個矩陣,A矩陣n行m列,B矩陣m行k列,矩陣中每個元素的絕對值不會大于1000。
【輸出】
輸出矩陣C,一共n行,每行k個整數,整數之間以一個空格分開。
【輸入樣例】
3 2 3
1 1
1 1
1 1
1 1 1
1 1 1
【輸出樣例】
2 2 2
2 2 2
2 2 2
代碼
#include<bits/stdc++.h> using namespace std; int a[101][101],b[101][101],t,n,m,s,c[101][101],i,j; int main() {scanf("%d%d%d",&n,&m,&s);for(i=1;i<=n;i++){for(j=1;j<=m;j++)scanf("%d",&a[i][j]); }for(i=1;i<=m;i++){for(j=1;j<=s;j++)scanf("%d",&b[i][j]); }for(i=1;i<=n;i++){for(j=1;j<=s;j++){for(t=1;t<=m;t++)c[i][j]=c[i][j]+a[i][t]*b[t][j];}}for(i=1;i<=n;i++){for(j=1;j<=s;j++)printf("%d ",c[i][j]);printf("\n");}return 0;} 新人創(chuàng)作打卡挑戰(zhàn)賽發(fā)博客就能抽獎!定制產品紅包拿不停!總結
以上是生活随笔為你收集整理的信息学奥赛一本通C++语言——1125:矩阵乘法的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 一只小蜜蜂(HDU-2044)
- 下一篇: 信息学奥赛一本通C++语言——1039: