The_Icer
The_Icer
采纳率62.5%
2016-08-09 14:34 阅读 1.5k
已采纳

关于C++中高斯消去法代码

我写了一段高斯消去法的代码,但是运行结果都是nan,请教怎么回事
#include
using namespace std;
int main(){
int i=4;
double str[i][i+1]={{2,3,11,5,2},{1,1,5,2,1},{2,1,3,2,-3},{1,1,3,4,-3}};
for(int m=0;m for(int n=m+1;n str[m][n]/=str[m][m];
}
str[m][m]=1;
for(int p=m+1;p for(int q=m+1;q str[p][q]-=str[p][m]*str[m][q];
}
str[p][m]=0;
}
}
for(int m=i-1;m>0;m--){
for(int p=m-1;p>=0;p--){
for(int q=p+1;q<m;q++){
str[p][q]-=str[p][m]*str[m][p];
}
str[p][i]-=str[p][m]*str[m][i];
str[p][m]=0;
}
}
for(int m=0;m<i;m++){
cout<<"x"<<m<<"="<<str[m][i]<<endl;
}
return 0;
}

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享

2条回答 默认 最新

相关推荐