下沙论坛

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

QQ登录

QQ登录

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

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

[复制链接]
男人 该用户已被删除
跳转到指定楼层
1
发表于 2004-4-14 20:56:00 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
程序如下,是用来解线性方程的,用的是高斯赛德乐迭代法做的 8 {$ Z6 l/ n! r在算三个未知量的时是和答案一致的,四个未知量就有出入,做六个未知量就出错了. 9 K! U8 u& n) m, t0 @& _谁能告诉我错在哪里了,是题错还是程序错了. y# @4 g6 Q o4 t5 F+ N刚开始学,不足之处请指教。 ! M, \' y' R0 Q0 ^2 ~#include/ Z$ b( E: d' w' k. C #include5 M- ?3 z6 v3 t6 O #define NN 50 ' y$ w6 B# _! U! Q void main()) X; S8 j) H# r$ b9 `* a { % s, H. |) W. ] W) r, `2 q cout.setf(ios::fixed,ios::floatfield); 6 H7 }3 Z* |1 V8 b- Q! |+ Y cout<5 @( W; V: ~) L/ A2 U: `9 p0 e int i,j,k;6 D0 L V& \' B- Y2 a- _ double e,c,T,r; - X, b+ ^' c( t: S: V //double x[NN],A[NN][NN],B[NN];# V0 W: h# B) w6 k' a% j& q, T4 ` //题目如下:任选一个 $ k. C ~7 c$ n //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};+ N: ^2 V$ W; [+ t2 v+ h+ M h$ v 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};& u7 z$ j# |. {' f& u //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};" r, P- r ~4 H! ^/ s) 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}; ^4 G" W) h4 { W z //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}; ' T3 `: v9 w ?3 u: K/ T/ ?4 R2 r //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};- h- u! l, V& v* p int N;/ X/ q% t0 \9 A$ E& |9 z7 n9 O6 u+ i8 Z! g cout<<"请输入N值:";7 a) a; v- i: V8 E4 Y N cin>>N;8 w! X) Y2 f8 b) e3 L+ m cout< c' H2 H* u2 X( N3 t cin>>e;2 p6 s) C/ z5 c /*cout<; D' l+ ~5 o- d9 h# M" x for(i=1;i<=N;i++) + S: A0 o# @" J7 @+ I for(j=1;j<=N;j++)! ]$ B: R. e5 ?' E+ ^' D {+ v. s# F% \% l, t V$ H cin>>A[j]; + Z; r- ~9 \+ V& o; c0 ]# @ }' @, O0 k. O2 _8 u- @9 `% { cout<- a t) d, V: E& I$ t" N for(i=1;i<=N;i++)3 V# M- z# h$ Y: I" J+ ]% x, c { 3 E* [: e' Z1 A* z" E8 C% [ Q' o for(j=1;j<=N;j++)/ z4 F J5 H! X4 h0 [' u. x* T7 @ { # U4 w' J! z2 ]0 H6 ?* ?3 P cout<[j]<<' '; 9 k9 p; C4 E4 \' m+ f! @( O 0 n0 m) _% w' w1 C J+ a+ ~ } & K# N- F. L* o, ^2 b cout<. G$ V7 X! Z4 N& a" k" L; Q: `5 X } & I: v& P8 u4 \( J @- ~3 a- _0 L cout<( P! u" q6 ^1 L c) S' ]/ N for(i=1;i<=N;i++)cin>>B;) R$ E/ T) F* T7 j4 c' S for(i=1;i<=N;i++)cout<<<' '; # g( k; E) Z! i. h" w cout<$ k% [) v5 R- q0 O1 a) v% Z for(i=1;i<=N;i++)cin>>x;*/ . M1 s/ b- I! n( C+ z% _0 c- _( `2 Y5 A4 ~& e7 _3 Q) F //cout<<"k"<! W ~. U6 t/ Q, J //for(i=1;i<=N;i++)cout<<"x["<# `, g7 J+ r) K Z r=e;( e0 m" q0 j" o7 n: e. A; g | for(k=1;r>=e;k++) 6 g. ? A m# b( ~- r) v { 5 c3 K2 v- Y4 d# ]. ?. r5 S1 H/ e r=0;4 J! @, l- H% f i=1; . [2 x% j: ?; G/ K9 ^ for(i=1;i<=N;i++)1 T. h' n9 T1 h6 M# h { 8 l: m0 p2 o9 h+ H3 i T=x;9 j, B' e5 [' g! R2 ~ c=0; , A! e# E" ]! f8 L+ w for(j=1;j<=N;j++) - E4 T- `; R3 Q { # a, u. H) P, R0 l0 H/ T& r if(j!=i)c+=(A[j]*x[j]); * x5 ^- K2 ~8 b cout<<"第"<& P/ b8 E5 ?' ] ~. J: l } ' F2 t {+ J c8 b- c+ ? //c1=0; 0 e! a1 `4 ?5 N$ D8 ?) q5 X" _+ c5 y //for(j=1;j<=i-1;j++)c1+=(A[j]*x[j]); d+ z4 l9 [3 U' G x=(B-c)/A;; I' H' A5 v* Q9 n2 I0 _. ]& r4 o cout<<"第"<<0 a/ e( A; ~4 l if((fabs(x-T))>r)r=fabs(x-T); / ~4 J) i0 W% Z0 `, E5 o9 L4 j cout<<"第"<; o( K/ a# z2 U' y1 D$ B }4 T' d- S+ E% t: o7 A4 G& F) O cout<! U( V/ F" W/ }0 o/ a //cout<<"k="<, ^5 J, }# C4 K0 v' r& Z $ n/ Z3 ~: {- m! B- s J- M' v6 R //cout.setf(ios::fixed,ios::floatfield); 0 l ^4 P- \' C! ]! U" E6 i! { for(i=1;i<=N;i++)cout<<"k="<<<' ';//<% C, d& x2 P# J/ s) f, U 7 j) d. R# ~" Z/ R5 U }cout<) P6 I; w5 A. ?. g6 Y. x . S* r1 l8 d a}
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 顶 踩

该用户从未签到

2
发表于 2004-4-14 22:24:00 | 只看该作者
高斯赛德乐迭代法
2 R  n1 Z, D$ d" g4 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 下一条

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