下沙论坛

 找回密码
 注册论坛(EC通行证)

用新浪微博连接

一步搞定

QQ登录

QQ登录

下沙大学生网QQ群8(千人群)
群号:6490324 ,验证:下沙大学生网。
用手机发布本地信息严禁群发,各种宣传贴请发表在下沙信息版块有问必答,欢迎提问 提升会员等级,助你宣传
新会员必读 大学生的论坛下沙新生必读下沙币获得方法及使用
查看: 4684|回复: 5
打印 上一主题 下一主题

大家帮我看看这段程序有没有错,谢谢!

[复制链接]
男人 该用户已被删除
跳转到指定楼层
1
发表于 2004-4-14 20:56:00 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
程序如下,是用来解线性方程的,用的是高斯赛德乐迭代法做的2 Y! L3 G B$ u( c 在算三个未知量的时是和答案一致的,四个未知量就有出入,做六个未知量就出错了. - q# u: t/ U% g, u% ]0 Z( Q- E& ?谁能告诉我错在哪里了,是题错还是程序错了. ; Y" W* \# m) `9 t X+ H刚开始学,不足之处请指教。3 Y( e, V, D. f, b #include8 w2 M7 B( K$ X) o #include7 L; \, x) H+ D3 c4 P# y #define NN 50 1 E2 U( \; e; @, j1 m+ f$ I) Y$ f void main() . A7 J* |3 g7 u. a | G { # X5 E$ u) R% g" F8 r cout.setf(ios::fixed,ios::floatfield); 9 B) {4 l$ z% _4 d9 ^ cout<9 ]* p) B, j5 j% D& _$ Q9 Y int i,j,k; 7 h7 k1 r7 f( J double e,c,T,r;+ J" |' {# @% t& a3 H) U //double x[NN],A[NN][NN],B[NN];& i- D, S2 L, a" E2 w+ F //题目如下:任选一个2 `' `9 {- `" |4 F6 q1 }9 N: L B+ g. A //double x[NN]={0,0,0,0},A[NN][NN]={{0,0,0,0},{0,10,-2,-1},{0,-2,10,-1},{0,-1,-2,5}},B[NN]={0,3,15,10};) G: v0 E s3 Q double x[NN]={0,0,0,0},A[NN][NN]={{0,0,0,0},{0,10,-1,-2},{0,-1,10,-2},{0,-1,-1,5}},B[NN]={0,7.2,8.3,4.2};; ~3 m! i6 x/ y' Q" N //double x[NN]={0,0,0,0,0},A[NN][NN]={{0,0,0,0,0},{0,-5,1,1,2},{0,2,8,1,3},{0,1,-2,-4,-1},{0,-1,3,2,7}},B[NN]={0,-2,-6,6,12};+ j: o! d1 |& \& h S* R //double x[NN]={0,0,0,0,0,0,0},A[NN][NN]={{0,0,0,0,0,0,0},{0,1,-1,0,-1,0,0},{0,2,4,-1,0,-1,0},{0,4,-1,4,-1,0,-1},{0,8,0,-1,4,-1,0},{0,12,-1,0,-1,4,-1},{0,16,0,-1,0,-1,4}},B[NN]={0,0,5,-2,5,-2,6};; M0 b& R" p" {: R! \ //double x[NN]={0,0,0,0,0},A[NN][NN]={{0,0,0,0,0},{0,1,0.333,1.5,-0.333},{0,-2.01,1.45,0.50,2.95},{0,4.32,-1.95,0.007,2.08},{0,5.11,-4.00,3.33,-1.11}},B[NN]={0,3.00,2.62,0.130,3.77};1 G. h j2 o n //double x[NN]={0,0,0,0},A[NN][NN]={{0,0,0,0},{0,10,3,1},{0,2,-10,3},{0,1,3,10}},B[NN]={0,14,-5,14};; I% _) h8 t' d" H1 a: w int N; . u6 I' l7 L3 V" \0 L9 } cout<<"请输入N值:";/ h j+ C/ Q! g3 Y: } cin>>N; # u1 J; Q7 y' x' `; O cout<3 R5 Y. a( ?5 i* w- B( J7 T cin>>e; . t2 K4 Q- [3 q /*cout<5 Q0 m3 A7 U3 t7 @5 [ for(i=1;i<=N;i++)' B8 w$ i$ n) H2 Y! ]0 G3 k: _ for(j=1;j<=N;j++)$ ^! n' W6 n6 {+ Y& S# B* z {# l) _3 a% d }- x# e. } cin>>A[j]; 7 x& ]" {* ~5 f: `- d! V- f } , n+ ?8 b) ~$ Y) |( q2 p cout<4 e/ d8 \* l: d" a- y3 i for(i=1;i<=N;i++) 3 N7 X v. e# L- @9 n4 H3 f { 8 V8 e& C* \5 H' U& v2 p5 v for(j=1;j<=N;j++) - I% S) G) f! N5 ?8 E {! G8 z% X5 K2 p cout<[j]<<' ';% A3 B: }3 G# |) f7 z: W / a4 b3 F! _+ @, K) q } & c5 h6 A: X% Q cout<% p1 B7 t& h$ X2 o1 T8 X% d } - `9 p4 v @; G+ \: \1 g7 K cout<4 Y: t" P5 v$ n8 G0 v9 K for(i=1;i<=N;i++)cin>>B; $ g5 J8 M& W$ w0 r6 G$ L) c for(i=1;i<=N;i++)cout<<<' '; ! N1 I4 Q" }9 R0 S1 s cout<5 { w+ y, G- l" {6 A* K for(i=1;i<=N;i++)cin>>x;*/( w5 i* x, a! Q j, j& i 1 I3 |' E* i m# o' r% [ //cout<<"k"<. p! s. p3 t, i //for(i=1;i<=N;i++)cout<<"x["<6 o6 G% Z* V! h0 w r=e;8 H6 F, D6 F6 w4 @ for(k=1;r>=e;k++) ! [3 n3 j1 S' ~2 M8 F { + X$ V0 h& S7 ^" x r=0;4 z m) L9 Q: w& J$ V i=1;- a8 \0 C0 t/ d& r4 U4 T for(i=1;i<=N;i++) * L! ?; x/ T3 k x { , @3 D/ W9 J% ? T=x;. v: o/ k1 a3 B. \5 d5 H- F; J/ W c=0; " M r; Z4 n' d, M for(j=1;j<=N;j++): ?4 E: g8 c% \% s- Z& @9 J/ e9 o { : u5 ^1 u, g( E$ ~ if(j!=i)c+=(A[j]*x[j]);: I0 ~" H7 }+ s cout<<"第"<8 m( f$ s" H7 L1 V6 ` } / `1 o6 U, Y$ e: f1 B+ Z //c1=0;2 L# `7 H& p/ }) W1 W //for(j=1;j<=i-1;j++)c1+=(A[j]*x[j]); 6 x$ v! }, H9 c9 b$ T# u" t! M x=(B-c)/A; r; d/ L$ l% |, c cout<<"第"<<1 j& [" L3 i$ Z; }. K% S8 x if((fabs(x-T))>r)r=fabs(x-T); 8 w* D5 _8 Q+ l& c8 l0 m. \. d. W4 T) b cout<<"第"<) j- p- ?3 {, L Q/ \ } ' q$ E! Q2 ]+ B8 m6 R3 ~) ?5 r$ _# c cout</ }1 K" N/ M" Q2 J2 o( x, U //cout<<"k="<) O: Z/ O# I N9 V4 O' B) h 0 }& J; f) y! v) O! {0 d1 F //cout.setf(ios::fixed,ios::floatfield); 8 p% O: v7 R0 t, z5 k for(i=1;i<=N;i++)cout<<"k="<<<' ';//<2 V9 u4 V8 N8 } 6 k4 T0 y" c" M. ]2 S* \ V }cout<% Y" ]2 v3 }* \2 m7 l' z$ c# p + Z+ ]+ ^' ?+ L* {$ Q }
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 顶 踩 转发到微博

该用户从未签到

2
发表于 2004-4-14 22:24:00 | 只看该作者
高斯赛德乐迭代法
* y' y1 C( D! o3 [$ {: A1 z把这个算法弄上来看看
浩子 该用户已被删除
3
发表于 2004-4-18 10:17:00 | 只看该作者
放屁啊 这么长的程序还是把我杀了好拉.
geforce20 该用户已被删除
4
发表于 2004-8-30 17:04:00 | 只看该作者

楼主这个问题提的真有建设性啊!!!!

(要想知道自己的程序是否有错,你编译一下,然后运行一下不就行了吗?!!!)

geforce20 该用户已被删除
5
发表于 2004-10-30 17:27:00 | 只看该作者
不要这样说楼主,其实楼主没有电脑,自己大脑编译速度太慢,所以就想把这个程序放到我们的大脑里编译一下,而已!
  • TA的每日心情
    奋斗
    2015-9-17 00:58
  • 签到天数: 1 天

    [LV.1]初来乍到

    6
    发表于 2004-10-30 19:57:00 | 只看该作者

    太混乱了,没有能力看下去

    不过如果说4个就不能算了,首先你要弄清楚是否一定有解,不是所有方程用G-S都能算出来的,要先判断是否收敛先,对于发散的数据自然无法迭代出解来了,所以首先算其普半径确定有解先。

    本版积分规则

    关闭

    下沙大学生网推荐上一条 /1 下一条

    快速回复 返回顶部 返回列表