|
随机数如何编写
|
类别:
程序设计
时间:
2007.03.15
|
夜妖精
|
[求助]C++(救人如救火,斑竹快帮忙想想)
设计一道程序,它输入一个5行5列的矩阵并计算显示它的值。 各位GG,JJ,DD,MM,走过路过的帮帮忙啊,在下叩首叩首再叩首! 如果不嫌麻烦,请在关键语句上给我注明为什么,谢谢!
|
migsu
|
你要计算显示什么值啊,用二维数组应该可以实现的
|
夜妖精
|
大体框架出来了,但还有错误,请帮忙改正
# include<iomanip.h> # include<math.h> # define SIZE 10 void main(){ double data[SIZE][SIZE]; int i,j,size; cout<<"请输入行列式的阶数(1--10):"; cin>>size; if(size<1||size>12){ cout<<"行列式的阶数要求在1--10之间"<<endl; return; } cout<<"请输入"<<size<<"行"<<size<<"列的行列式:"<<endl; for(i=0;i<size;i++) for(j=0;j<size;j++) cin>>data[i][j]; cout<<endl<<endl<<size<<"行"<<size<<"列的行列式:"<<endl; for(i=0;i<size;i++){ cout<<endl; for(j=0;j<size;j++) cout<<setw(10)<<data[i][j]; } cout<<endl; double grmdet(double a[][SIZE],int size); cout<<endl<<size<<"行"<<size<<"列的行列式的值为:"; cout<<grmdet(data,size)<<endl; double grmdet(double a[][SIZE],int size){ int i,j,k,n; double p,t,u; double m[SIZE]; for(i=0;i<SIZE;i++){ u=0.0; for(j=0;j<SIZE;j++) if(abs(a[i][j]>u)) u=ads(a[i][j]); if(u<1.0E-18) return 0.0; m[i]=u; if(u!=1) for(j=0;j<size;j++) a[i][j]/=u; } p=1; for(k=0;k<SIZE;k++){ n=k; t=abs(a[k][k]); for(j=k+1;j<size;j++) if(t<abs(a[k][j])){ t=abs(a[n][j]); n=j; } if(t<1.0E-18) return 0.0; if(n!=k){ p=-p; for(i=k;i<size;i++){ t=a[i][k]; a[i][k]=a[i][n]; a[i][n]=t; } } p*=a[k][k]; for(i=k+1;i<size;i++){ t=a[i][k]/a[k][k]; for(j=k+1;j<size;j++) a[i][j]-=a[k][j]*t; } } t=p*a[size-1][size-1]; for(k=0;k<size;k++) t*=m[k]; return t; } 错误注释为:G:\hj.cpp(27) : error C2601: 'grmdet' : local function definitions are illegal G:\hj.cpp(72) : fatal error C1004: unexpected end of file found Error executing cl.exe. hj.obj - 2 error(s), 0 warning(s)
|
migsu
|
你的这个程序我在.net下编译没有错误,这两天我比较忙,等过两天装了vc6.0后再试试吧
|
migsu
|
呵呵,没问题啊,刚学吧,呵呵,慢慢走,你的起步很好的,比我那时强多了,不过要多打代码才行,要多想想怎么解决问题
|
夜妖精
|
打代码??什么意思!不好意思,我嫌下载MSDM太麻烦就没载,就是那上面的代码吗?求教!~~
|
migsu
|
打代码是说在电脑上打代码,不是让你去搞MSDN,就你现在初学C++来说,不需要MSDN,等你用到vc后没有MSDN是不可能的
|
skybother
|
写的代码太不工整啦 这样编译起来很麻烦 第二处错误是最后少了一个‘}’
|
夜妖精
|
大哥,我是初学者啊,你的要求也太高了吧(|||||)
|
pkyou
|
看看我做的合不合要求: #include<iostream.h> void main() { const int xi=5,xj=5,yi=5,yj=5; int x[xi][xj],y[yi][yj]; int i,j; cout<<"请输入x矩形数据:"<<xi<<"x"<<xj<<endl; for(i=0;i<xi;i++) for(j=0;j<xj;j++) { cout<<"第"<<i+1<<"行第"<<j+1<<"列:"; cin>>x[i][j]; } cout<<"请输入x矩形数据:"<<yi<<"x"<<yj<<endl; for(i=0;i<yi;i++) for(j=0;j<yj;j++) { cout<<"第"<<i+1<<"行第"<<j+1<<"列"; cin>>y[i][j]; } int k,sum; cout<<"计算结果:"<<endl; for(i=0;i<xi;i++) { for(j=0;j<yj;j++) { sum=0; for(k=0;k<xj;k++) sum+=x[i][k]*y[k][j]; cout<<'\t'<<sum; } cout<<endl; } }
|
pkyou
|
好像漏了一点! 今天没空!改天再改了!!
|
上一篇:求教各位高手! 下一篇:求vc源代码
|