下沙论坛

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

用新浪微博连接

一步搞定

QQ登录

QQ登录

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

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

[复制链接]
男人 该用户已被删除
跳转到指定楼层
1
发表于 2004-4-14 20:56:00 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
程序如下,是用来解线性方程的,用的是高斯赛德乐迭代法做的 7 n/ @9 v/ L8 X+ ], T0 p _: l$ S在算三个未知量的时是和答案一致的,四个未知量就有出入,做六个未知量就出错了. . c. P0 ~* F& P0 Q+ G谁能告诉我错在哪里了,是题错还是程序错了. * q- l% X# b& N4 b刚开始学,不足之处请指教。 6 `8 O# F- p- T& V" W#include; X [7 E/ P' L9 i4 z/ t& } #include7 R+ N! u3 l ~) l, i #define NN 50 ) M* g, E1 Q" a0 D8 @& h void main(), e) T6 Z$ S5 _' F- f { + N, P- ~( Q! W% X cout.setf(ios::fixed,ios::floatfield); ; M) B1 b8 [$ r cout<( s' ]- G$ o. f int i,j,k;# d/ O$ O+ p: y0 ] double e,c,T,r;" u, D. X- K1 o //double x[NN],A[NN][NN],B[NN];) ~7 y6 W; ^. m" G: I //题目如下:任选一个 # p+ ?0 _: i4 z //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}; j, y4 J5 |. ^3 t 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}; + Z8 A8 u* E$ {0 H& u, z; z; I+ p0 Y //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};1 N7 W# [0 a$ x' H) z //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}; ) G. i! t4 E+ o. b' |5 E; n //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}; 6 g- p1 k" `/ Z' x9 i //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}; 7 s" g0 T0 v$ u int N; # q& `0 d8 {8 L4 |# B" I. { cout<<"请输入N值:"; 4 q# N- I, E% j! O7 _5 B cin>>N;" s1 {' ^7 U* \9 T cout< N1 F' q) k `6 X2 I cin>>e; 9 M6 t# V: O( D0 X8 z/ ^- W6 x% d /*cout<6 x5 r) l& I/ n$ C for(i=1;i<=N;i++)4 w# H8 l \+ Y4 R9 Z8 d for(j=1;j<=N;j++) + i) f/ g' v9 d# j6 \' J0 I { . p1 ^2 Y6 a4 m' z cin>>A[j]; " @1 O" e" K0 v, _0 b }2 Q. U8 y; l5 {8 K: _4 c+ b* V cout<, j. _7 Z: w1 y1 R* P0 o for(i=1;i<=N;i++) - F9 h4 t* H7 I3 c4 j {- n: n: K, b' \4 |2 y+ w+ a for(j=1;j<=N;j++) ' U6 m7 j/ n8 b0 b) @5 W+ } { H* F) u& b# }3 B ^5 V& p" u cout<[j]<<' '; ) g3 L% }( ?5 ~( C; w 7 x8 k: |7 V" V }5 _7 K/ X+ I% |5 u& D+ P% I cout<2 s O: {1 r. V } p$ L ~' e$ L. | cout<( }4 n) s4 u, H+ f& E for(i=1;i<=N;i++)cin>>B;6 ^6 G0 _. e0 c% s for(i=1;i<=N;i++)cout<<<' ';5 Y" m* A- U' N2 ?8 c7 }+ G cout<3 n, j7 I8 R" @7 n& L* j for(i=1;i<=N;i++)cin>>x;*/. y+ ~3 x+ D9 s, N- ]+ k$ ^ 9 R% g9 B" v0 `4 z) Y' [ //cout<<"k"<$ j7 u- i; [. v2 W$ H: B //for(i=1;i<=N;i++)cout<<"x["<$ ^4 E8 l9 P! X; H* s r=e; : @4 x( s7 P+ U: c2 h/ n/ ?2 e for(k=1;r>=e;k++)$ F: M: [- R! F. N { 0 r7 D. T+ F) @( k6 j r=0;* A) o# P- s$ g: N& D/ i i=1; $ [% u% P. k0 ~7 f0 S for(i=1;i<=N;i++) : O' X7 v" i# P9 ^2 X ]% ^ {) c; ]1 c. T8 u* K/ D+ ^3 g) G T=x; ! m+ C g7 H( Z; E c=0; e( |0 }' {0 | for(j=1;j<=N;j++) 4 w2 f! K h. q, `' t/ a/ Y* h- N q {. s* \9 v$ P& O( S if(j!=i)c+=(A[j]*x[j]); 4 N4 D4 W- I5 X0 B) w8 U cout<<"第"<5 p% `5 m1 }% L3 | w6 r( q% t; @ }! e, B' }0 T" E: q+ j% J //c1=0; { o# ?$ |# Z$ g/ n //for(j=1;j<=i-1;j++)c1+=(A[j]*x[j]);0 A, \' N: S3 p9 w$ T" A" y/ _ x=(B-c)/A;( D+ `) j& z$ f w4 h- K/ t cout<<"第"<<( Y+ @! r: e5 i" a. Y* Y! H if((fabs(x-T))>r)r=fabs(x-T);2 O( d# i7 F9 z cout<<"第"<& a7 F" y1 {* Z' c" I }0 ]/ S/ \& u) K4 s7 ] cout<4 m; V/ [& l* |$ [- H //cout<<"k="<. Y# G7 q6 y' ]7 Y" n0 V# y9 F 3 y+ F; y9 l7 N4 Y$ `. \; q //cout.setf(ios::fixed,ios::floatfield);" Y! ?8 [% G, j5 y for(i=1;i<=N;i++)cout<<"k="<<<' ';//<3 \& f/ {3 \: H' a% l ) G7 b1 I/ W7 q1 G! c }cout<$ J/ l8 \2 t3 |; }5 S, K2 s! ? ! ]3 x1 d9 m( H1 u' J }
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 顶 踩 转发到微博

该用户从未签到

2
发表于 2004-4-14 22:24:00 | 只看该作者
高斯赛德乐迭代法0 q+ z' x; M% b% F* k
把这个算法弄上来看看
浩子 该用户已被删除
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 下一条

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