程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> C++ >> C++入門知識 >> NYOJ 623 A*B Problem II

NYOJ 623 A*B Problem II

編輯:C++入門知識

NYOJ 623 A*B Problem II


/*
題目大意:矩陣與矩陣的相乘
解題思路:模擬矩陣的乘法
關鍵點:模擬
解題人:lingnichong
解題時間:2104-10-04 17:21:00
解題體會:按照題目要求寫下來即可
*/


A*B Problem II

時間限制:1000 ms | 內存限制:65535 KB 難度:1
描述
ACM的C++同學有好多作業要做,最頭痛莫過於線性代數了,因為每次做到矩陣相乘的時候,大量的乘法都會把他搞亂,所以他想請你寫個程序幫他檢驗一下計算結果是否正確。
輸入
有多組測試數據,每行給出一組m,n,k(0 矩陣A:m行n列。
矩陣B:n行k列。
接下來給出m*n個數表示矩陣A和n*k個數表示矩陣B,對於每個數s,0<=s<=1000。
當m,n,k同時為0時結束。
輸出
計算兩個矩陣的乘積並輸出。
樣例輸入
2 1 3
1
2
1 2 3
2 2 3
1 2
3 4
1 0 1
0 1 0
0 0 0
樣例輸出
1 2 3
2 4 6
1 2 1
3 4 3

來源
szhhck的水庫


#include
int a[55][55],b[55][55],c[55][55];
int main()
{
    int m,n,k,i,j,s;
    int sum;
    while(scanf("%d%d%d",&m,&n,&k),m||n||k)
    {
       /*********輸入兩個矩陣*********/ 
        for(i = 0; i < m; i++)
        {
            for(j = 0; j < n; j++)
            scanf("%d",&a[i][j]);
        }    
        for(i = 0; i < n; i++)
        {
            for(j = 0; j < k; j++)
            scanf("%d",&b[i][j]);
        } 
       /***********對兩個矩陣乘積*************/ 
        for(i = 0; i < m; i++)
        {
            
            for(j = 0; j < k; j++)
            {
                sum=0;
                for(s = 0; s < n; s++)
                sum += a[i][s]*b[s][j];
                c[i][j]=sum;
            }    
        }    
       /*********輸出結果*********/ 
      // printf("\n");
        for(i = 0; i < m; i++)
        {
            for(j = 0; j < k; j++)
            printf("%d ",c[i][j]);
            printf("\n");
        }    
       // printf("\n");
    }    
    return 0;
}  




  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved