作者sb0917 (バカ)
看板NTUBIME101HW
标题[C++] 虽然已经考完上机
时间Thu Dec 11 20:37:32 2008
刚刚把第十二题用传阵列的方式弄出来了...
#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
1F:推 typenephew:这是.....楼下你懂吗? 12/11 23:19
2F:→ ck940560:有待研究 颗颗 那个**不太了解 12/11 23:26
3F:→ sb0917:我也是今天才懂的... 12/11 23:38
4F:→ petroheat:五楼你懂吗? 12/12 01:09
5F:推 vincent79715:我要研究一下 六楼你说呢? 12/12 01:20
6F:→ sb0917:好难我不会 12/12 01:23
7F:推 petroheat:听说八楼是神手耶~ 12/12 01:50
8F:→ kent2368:我是神车 12/12 04:20
9F:推 xx7983:= =" 怎麽越来越向乡民呢?!XDDD 12/12 19:04
10F:推 lostmyself:GOOD JOB 12/13 14:49
11F:推 typenephew:助教现身!!!!! 12/13 17:04