下沙论坛

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

用新浪微博连接

一步搞定

QQ登录

QQ登录

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

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

[复制链接]
男人 该用户已被删除
跳转到指定楼层
1
发表于 2004-4-14 20:56:00 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
程序如下,是用来解线性方程的,用的是高斯赛德乐迭代法做的 9 a, C, `# n6 M/ U/ k( F; e1 d在算三个未知量的时是和答案一致的,四个未知量就有出入,做六个未知量就出错了.% L. X! ?& Z1 ` 谁能告诉我错在哪里了,是题错还是程序错了.8 Y- M# ?& Y4 q2 e 刚开始学,不足之处请指教。 : r$ K+ g( D, r& O* r. O3 P#include 1 n0 j5 g/ b& y0 t9 A+ O#include * z: V( B' T" q) I$ g9 e: C# X! y L#define NN 50 & ]; u+ {5 K z0 X/ m void main()/ ?% ]) |3 g1 E$ P# [9 O { " t- e1 I N/ n1 O cout.setf(ios::fixed,ios::floatfield); 1 w" W5 M3 f! w! g% x cout<8 V9 V( z* }4 N9 v& \4 H int i,j,k;: O: Q+ K0 [+ [; p& |* \6 L' S, } double e,c,T,r; . r6 ]- A5 d( M$ S //double x[NN],A[NN][NN],B[NN];) k. \4 O2 J- ~" _& { //题目如下:任选一个' u4 l# Z1 [# o& |8 [5 f8 p$ y; C //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};' S) _$ t7 j9 r3 x 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};7 u+ l2 p) b- j //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};2 b$ j2 D, P- q& n' e //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};$ `' i. J8 b) ^+ |3 I 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}; / ?% E; X6 B' Y4 I+ x. X //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}; 9 Q s+ q7 J4 |9 I* o3 F+ r int N; # w# J% d" t2 \0 W cout<<"请输入N值:"; / }4 A/ {5 a. @, l cin>>N; & k/ b8 I' f9 a* R$ e cout<' z5 c: _ }, ]" M7 c cin>>e;; t6 z0 R0 V5 ? /*cout<: e- i: F" L9 g" l1 a- K for(i=1;i<=N;i++) + {. H- _8 W/ d! p' v( ` for(j=1;j<=N;j++)8 g* Y4 I$ b9 o7 Z {9 M+ a, K0 x, [9 `& t; y# R, K. o cin>>A[j]; , p" U U/ G% ?) E: n8 P }! z; `' Z' l0 H, ?5 d: ] cout<$ M) G+ Y+ p( Q- O+ C: w1 ~- ` for(i=1;i<=N;i++) : O2 C$ z$ C/ K2 i& ^ {2 S" Q2 `! u' O; N+ O4 \" M for(j=1;j<=N;j++)) N7 v3 O% d& d! I; g0 V. L { v0 I5 L, C/ f7 h5 \ cout<[j]<<' ';3 @: |/ P3 |3 e4 K+ k ' b: F7 a6 [9 F } " |2 n$ H7 {, z0 X# `3 i T' M" W2 s cout<( A% w2 s" P# l. W }3 r, |; q$ g) D' z" v1 l; \( P z2 t cout<3 G- |& H* D0 f0 f* n* B2 Y9 p+ O for(i=1;i<=N;i++)cin>>B; 5 L& _5 w, t0 y for(i=1;i<=N;i++)cout<<<' '; + r0 s. ^ E% L7 H cout<0 Q* V( U m ^% f/ z+ f( C for(i=1;i<=N;i++)cin>>x;*/ 8 D: e/ [$ F1 G1 r( B0 E 9 K9 X1 m8 [: A& I1 A* m1 ~ //cout<<"k"<) Q/ c" A2 l5 N9 X: i8 Z //for(i=1;i<=N;i++)cout<<"x["<) _6 X1 r- C4 S' K0 l* l r=e; - O& T- n. u" J2 _9 b! Z" | for(k=1;r>=e;k++), q/ Y- _, V! K9 S { + p( e& [! }- n2 p r=0; 8 C; b9 Q# W: l/ S i=1;2 V2 x3 e( |3 M: @/ ?% D for(i=1;i<=N;i++) 2 ^% V. G5 f$ e! G8 i { $ w1 m9 B* \ @# F4 r T=x; / u! L# _% K$ C' [0 G) s( v. T c=0;9 `* P; W0 }! Q( B7 ~# E6 L! i. Y4 X5 e for(j=1;j<=N;j++)) u R, d& w: R" ~4 K { % X+ n) S/ D3 T" R$ {$ G- [" n if(j!=i)c+=(A[j]*x[j]);9 l V0 b F# d9 _$ J( x7 m cout<<"第"< j! g4 v& B5 Q/ b" I4 q; v9 u& V }( y/ c; j8 r% J3 H //c1=0; % ~, j3 R; g% v9 w2 {) i9 I4 Z: ? //for(j=1;j<=i-1;j++)c1+=(A[j]*x[j]);4 P1 c1 ?/ n. j. h5 m L0 | x=(B-c)/A; 7 V4 M" W: G( Z) z8 w9 M h cout<<"第"<<( E3 A& ^! y4 ?$ k4 `# s if((fabs(x-T))>r)r=fabs(x-T); & o# j* B, _8 J cout<<"第"<- T: A& ^6 Y& h9 A6 ~# w" }+ C } . M) @+ x# ^8 T) V/ S' F3 d cout<( {2 I1 z7 k2 [* c( t/ t; ~& o //cout<<"k="<: v k" T! x" Y/ D' X 6 b9 I6 p) L( T9 v5 w# y //cout.setf(ios::fixed,ios::floatfield); 4 }. P/ i a7 L/ i# f for(i=1;i<=N;i++)cout<<"k="<<<' ';//<6 j6 ?$ W) M( U2 Z( G2 @* n. D 2 J! b2 j0 t8 u* I" X }cout<, X8 V! ]( o @& b8 H : ~' z# l2 d3 A6 I j" q- F1 x}
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 顶 踩 转发到微博

该用户从未签到

2
发表于 2004-4-14 22:24:00 | 只看该作者
高斯赛德乐迭代法
0 W( p6 `" t3 r) s" C' G% ?把这个算法弄上来看看
浩子 该用户已被删除
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 下一条

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