看板 NTUBIME101HW 關於我們 聯絡資訊
剛剛把第十二題用傳陣列的方式弄出來了... #include <iostream> #include <iomanip> #include <ctime> using namespace std; void fun(int **,int **,int **,int m,int n,int l); int main() { srand(time(NULL)); int a[11][11]={0}; int b[11][11]={0}; int c[11][11]={0}; int i,j,k,sum,m,n,l; int *ap[11],*bp[11],*cp[11],**A,**B,**C;//真的是超麻煩... cout << "Mat.A(MxN),Mat.B(NxL),Please input M,N,L:\n"; cin >> m >> n >> l; cout << endl; cout << "Matrix A(" << m << "x" << n << "):\n"; for(i=0;i<m;i++) { for(j=0;j<n;j++) { a[i][j] = rand()%9 + 1; cout << setw(3) << a[i][j]; } cout << endl; } cout << endl; cout << "Matrix B(" << n << "x" << l << "):\n"; for(i=0;i<n;i++) { for(j=0;j<l;j++) { b[i][j] = rand()%9 + 1; cout << setw(3) << b[i][j]; } cout << endl; } for(i=0;i<11;i++) { ap[i] = a[i]; cp[i] = c[i]; bp[i] = b[i]; } A = ap; B = bp; C = cp; fun(A,B,C,m,n,l); cout << endl; cout << "Matrix C(" << m << "x" << l << "):\n"; for(i=0;i<m;i++) { for(j=0;j<l;j++) cout << setw(4) << c[i][j]; cout << endl; } system("pause"); return 0; } void fun(int **a,int **b,int **c,int m,int n,int l) { int sum,i,j,k; for(i=0;i<m;i++) for(j=0;j<l;j++) { sum = 0; for(k=0;k<n;k++) sum += a[i][k]*b[k][j]; c[i][j] = sum; } } -------- 發牌程式如果不想設全域變數就只能靠傳雙重指標了... -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 125.232.97.252
typenephew:這是.....樓下你懂嗎? 12/11 23:19
ck940560:有待研究 顆顆 那個**不太了解 12/11 23:26
sb0917:我也是今天才懂的... 12/11 23:38
petroheat:五樓你懂嗎? 12/12 01:09
vincent79715:我要研究一下 六樓你說呢? 12/12 01:20
sb0917:好難我不會 12/12 01:23
petroheat:聽說八樓是神手耶~ 12/12 01:50
kent2368:我是神車 12/12 04:20
xx7983:= =" 怎麼越來越向鄉民呢?!XDDD 12/12 19:04
lostmyself:GOOD JOB 12/13 14:49
typenephew:助教現身!!!!! 12/13 17:04