| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 747 人关注过本帖
标题:怎么样修改?
只看楼主 加入收藏
haiyungood
Rank: 2
等 级:论坛游民
帖 子:83
专家分:98
注 册:2008-7-2
结帖率:100%
收藏
 问题点数:0 回复次数:1 
怎么样修改?
我用C++写了一个用高斯消去法解方程的程序,但是不知道哪里错了,想请各位帮忙看下是哪里错了:
0.012x1+0.01x2+0.167x3=0.671
x1+0.8334x2+5.91x3=12.1
3200x1+1200x2+4.2x3=981
程序如下:
#include<iostream>
#include<cmath>
using namespace std;
int main()
{
    float A[3][4]={{0.012,0.01,0.167,0.6781},{1,0.8334,5.91,12.1},{3200,1200,4.2,981}};
    int i,j;
    float  x1,x2,x3;
    float B[2][3];
    float C[2];
    for(i=0;i<3;i++)
    for( j=0;j<4;j++)
    B[i-1][j-1]=A[i][j]-A[i][0]*A[0][j]/A[0][0];
    C[0]=B[1][1]-B[1][0]*B[0][1]/B[0][0];
    C[1]=B[1][2]-B[1][0]*B[0][2]/B[0][0];
    x3=C[1]/C[0];
    x2=(B[0][2]-B[0][1]*x3)/B[0][0];
    x1=(A[0][3]-A[0][1]*x2-A[0][2]*x3)/A[0][0];
    cout<<"x1="<<x1<<endl;
    cout<<"x2="<<x2<<endl;
    cout<<"x3="<<x3<<endl;
    return 0;
}
编译时没错,但就是算的不对,不知是哪里错了。
正确结果是:x1=-104.0   x2=100.0    x3=5.546
谢谢各位了。
搜索更多相关主题的帖子: include 高斯 
2008-11-12 22:48
heibai
Rank: 2
等 级:论坛游民
帖 子:16
专家分:30
注 册:2007-2-20
收藏
得分:0 
for(i=0;i<3;i++)
    for( j=0;j<4;j++)
    B[i-1][j-1]=A[i][j]-A[i][0]*A[0][j]/A[0][0];
 //后加加改成前加加试试~
程序我看不下去~~
2008-11-14 12:44
快速回复:怎么样修改?
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.011618 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved