Re: [C++ ] 第十二題自己做的參考解答(簡易版)

看板NTUBIME104HW作者 (京清)時間14年前 (2011/12/14 22:59), 編輯推噓1(100)
留言1則, 1人參與, 最新討論串2/2 (看更多)
※ 引述《g85101878 (豆腐)》之銘言: : #include "stdafx.h" : #include<iostream> : using namespace std; : void matrix(int [11][11],int [11][11],int [11][11],int,int,int); : int main() : { : int a[11][11]={0},b[11][11]={0},c[11][11]={0}; : int m=0,l=0,n=0; : cin>>m>>l>>n; : for(int i=0;i<m;i++){ : for(int j=0;j<l;j++){ : cin>>a[i][j]; : } : } : for(int i=0;i<l;i++){ : for(int j=0;j<n;j++){ : cin>>b[i][j]; : } : } : matrix(a,b,c,l,m,n); : system ("pause"); : return 0; : } : void matrix(int a[11][11],int b[11][11],int c[11][11],int l,int m,int n){ : for(int i=0;i<m;i++){ : for(int j=0;j<n;j++){ : for(int k=0;k<l;k++){ : c[i][j]+=a[i][k]*b[k][j]; : } : } : } : for(int i=0;i<m;i++){ : for(int j=0;j<n;j++){ : cout<<c[i][j]<<"\t"; : } : cout<<endl; : } : } 以下是我寫的: #include "stdafx.h" #include<iostream> using namespace std; double a[10][10]={0},b[10][10]={0},c[10][10]={0}; int m,l,n,i,j; void com(double a[10][10],double b[10][10]) { for(i=0;i<m;i++){ for(j=0;j<n;j++){ for(int x=0;x<l;x++) { c[i][j]=a[i][x]*b[x][j]+c[i][j]; } } } for(i=0;i<m;i++){ for(j=0;j<n;j++){ cout<<c[i][j]<<" "; } cout << endl; } } int main() { cout<<"M? L? N?"<<endl; cin>>m>>l>>n; cout<<"A?"<<endl; for(i=0;i<m;i++){ for(j=0;j<l;j++){ cin>>a[i][j]; } } cout<<"B?"<<endl; for(i=0;i<l;i++){ for(j=0;j<n;j++){ cin>>b[i][j]; } } com(a,b); system("pause"); return 0; } -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.112.240.213

12/14 23:48, , 1F
把陣列宣告為全域 呼叫函式不需要傳值
12/14 23:48, 1F
文章代碼(AID): #1EwBdQtH (NTUBIME104HW)
文章代碼(AID): #1EwBdQtH (NTUBIME104HW)