永发信息网

高手帮忙看一下C++代码

答案:2  悬赏:30  手机版
解决时间 2021-04-25 09:18
#include<iostream>
using namespace std;
int main()
{
int n;
double t,e=0.01;
cout<<"输入矩阵系数的个数n:"<<endl;
cin>>n;
double *a=new double [n+1][n+1];
double *b=new double [n+1];
double *x=new double [n+1];
double *s=new double [n+1];
for(int k=1;k<n;k++)
{
if(abs(a[n][n])<=e)
cout<<"fail"<<endl;
else
{
for(int i=k+1;i<n;i++)
{
t=a[i][k]/a[k][k];
b[i]=b[i]-t*b[k];
}
for(int j=k+1;j<n;j++)
a[i][j]=a[i][j]-t*a[k][j];
x[n]=b[n]/a[n][n];
for(int ii=n-1;ii>0;ii++)
{
for(int jj=ii+1;ii<=n;ii++)
s[jj]=a[ii][jj]*x[jj];
x[ii]=(b[ii]-s[jj])/a[ii];
}
for(int f=1;f<=n;f++)
cout<<x[f]<<endl;
}
}
//这是哪里出问题啦?这个是顺序高斯消去法的求解算法。
最佳答案
#include<iostream>
using namespace std;
int main()
{
int n;
double t,e=0.01;
cout<<"输入矩阵系数的个数n:"<<endl;
cin>>n;
double** a=new double*[n+1]; // 这样申请动态二维数组
for(int i = 0; i < n+1; ++i)
a[i] = new double[n+1];
double *b=new double [n+1];
double *x=new double [n+1];
double *s=new double [n+1];
for(int k=1;k<n;k++)
{
if(abs(a[n][n])<=e)
cout<<"fail"<<endl;
else
{
for(int i=k+1;i<n;i++)
{
t=a[i][k]/a[k][k];
b[i]=b[i]-t*b[k];
}
for(int j=k+1;j<n;j++)
a[i][j]=a[i][j]-t*a[k][j];
x[n]=b[n]/a[n][n];
for(int ii=n-1;ii>0;ii++)
{
for(int jj=ii+1;ii<=n;ii++)
s[jj]=a[ii][jj]*x[jj];
x[ii]=(b[ii]-s[jj])/a[ii]; // 这里还有个编译错误,你根据自己的逻辑改一下
}
for(int f=1;f<=n;f++)
cout<<x[f]<<endl;
}
}
全部回答
double *a=new double [n+1][n+1]; 申请二围空间不是这么申请的啊 double **a=new (double *)[] for(申请n维) a[i]=new double[]
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
电脑蓝屏是什么原因
请问《玛雅预言》是否属实?
求爵迹全文电子书
移动卡停机 交费仍没信号
下载的视频在手机上打不开?
对一岁女儿生日祝福语,女儿的生日快乐祝福语
我天天都很烦 怎么样才会不烦啊
电脑总卡在读取条前面一环节 开不开机
现在NOKIA6220C几多钱?
上海steelseries有维修站吗
手工酸奶酪在哪里啊,我有事要去这个地方
所有驱动器页面文件大小是不是物理内存?
湖北七区什么时候开啊
超级QQ是怎么一回事
手机宠物狗狗何时会死亡
推荐资讯
现在好玩的传奇
怎样赚G币最快啊?
床头能对着窗户吗,床头不能对着卧室门,还是房
问关于诺基亚
怎么快速更改不在常用ip上的QQ密码错误代码11
可不可以加入哦?
( )的念头 培育( )
父母对出生孩子的寄语,别人生了孩子,有哪些
QQ三国里什么是挂机练级,3机.9机又是什么意思
国产飞利浦X800怎样下载游戏?
用什么歌跳印度舞比较好?
长大了,为什么友谊也变得那么的不单纯?
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?