下沙论坛

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

QQ登录

QQ登录

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

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

[复制链接]
男人 该用户已被删除
跳转到指定楼层
1
发表于 2004-4-14 20:56:00 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
程序如下,是用来解线性方程的,用的是高斯赛德乐迭代法做的# u f! ^7 y! R 在算三个未知量的时是和答案一致的,四个未知量就有出入,做六个未知量就出错了. : @$ T8 K: {2 t2 g谁能告诉我错在哪里了,是题错还是程序错了.8 p7 d7 }# V. t 刚开始学,不足之处请指教。6 _+ d/ }0 y1 Z #include 1 N5 ^9 r. q, b1 z1 [#include/ N% W" W8 V! p #define NN 50 ; |$ B; I2 w4 k9 E' Y# B$ \ void main() ) S$ N' U: s2 s* v. e { 4 c. Q) @7 W N cout.setf(ios::fixed,ios::floatfield); 0 z8 T1 _4 }3 G: r$ [% C cout<6 V4 N3 I# n( Z0 v' A* v0 K int i,j,k; ! @; o" I: R- K5 t double e,c,T,r;8 f a& m! I8 C; r; \" a4 s //double x[NN],A[NN][NN],B[NN]; Q4 m$ Z" K7 h9 \ //题目如下:任选一个 # g! `3 r& ~: S$ S' ?" B //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};" e/ W Z% k1 o+ ]8 W* [ 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}; . o% o& [; M0 i //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};8 `' \5 g1 ?7 S) k0 S //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}; ~- F) a, F7 y& r8 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}; ) M. o3 a4 {& ` //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}; - Y( g/ [/ E8 m* E$ M, h int N;% ~" \3 q6 h' y& m: X& x cout<<"请输入N值:";3 u% ~! }; T( F/ U* D2 ? cin>>N;- {% C" }' p; g6 I" O! T3 R" S cout<9 L1 p K! C8 W cin>>e;# z# _+ X& t# N- N0 o7 L /*cout<$ C5 j2 {1 }; s for(i=1;i<=N;i++)8 B9 j7 K2 G" z* L0 O. y4 m$ k for(j=1;j<=N;j++)3 v& K/ c! p4 J7 @ {* D, D8 v$ k& ^6 {, E5 r6 G cin>>A[j]; # r2 H7 P) N2 I' }. @! O } ; e8 |# b3 f* m9 @ cout<" a) l K1 a4 X1 e0 ~- a for(i=1;i<=N;i++)/ t L) N! v: i$ A3 P! N+ p {' C* ?$ \0 ^* { for(j=1;j<=N;j++) \, a3 O) U! q+ s0 Q A7 T6 | { b- j& r# m1 H cout<[j]<<' ';3 y1 [$ ~: W k: b: Z % @# H* q( s" t1 ~' l } % G0 h! N! D. J: j4 c( w8 T cout</ p( C8 w9 z$ S# w+ g } ( o3 k- p# g" P8 {, S/ ~6 U cout<3 b0 L) x) f5 \5 \& \- X1 U; s# w for(i=1;i<=N;i++)cin>>B; 1 P% z- u8 A7 o4 [* B* J1 ^" [1 G for(i=1;i<=N;i++)cout<<<' '; 9 G$ l" h+ q% p9 k! M cout<# S8 Z: d+ r1 | for(i=1;i<=N;i++)cin>>x;*/! ^/ f. C" }- |6 @! ] 9 \! `5 u0 R5 V0 B. j //cout<<"k"<) G- @( R- l; I; O9 {- U0 @ //for(i=1;i<=N;i++)cout<<"x["<& S/ Y! b: p1 R r=e; 7 P: Z2 ^8 i: D7 w$ g6 H: g for(k=1;r>=e;k++)3 b U/ x ?# w( y { - u, o3 _$ B4 y) d0 C+ G r=0; + g2 g: r, ]3 F" I4 _ i=1; 2 q5 T* X0 V. S8 x% K9 N for(i=1;i<=N;i++)+ c4 n) ^( ^4 ~ {$ R3 s( I$ B# r% ^: r T=x; }2 ?0 \9 P4 V) W5 J& u- x) u# T( G c=0; 4 `" J1 C0 H2 x9 A% I for(j=1;j<=N;j++)( h- }$ J, h* ]" o9 u( ~3 W0 l {4 z) s7 k0 p' V! e if(j!=i)c+=(A[j]*x[j]); : t& y7 \3 V8 O+ ~$ Z/ T3 [ cout<<"第"<; ^/ \: t! \$ v6 W2 s ]) d8 m8 `# E }" d: p# A0 p$ [9 i, `. s //c1=0;5 H8 J' v" q, J m7 p6 G //for(j=1;j<=i-1;j++)c1+=(A[j]*x[j]);2 H. N$ j ?: l# V! X' r4 T x=(B-c)/A;/ W( w' o% T% d8 e% E; z9 |+ M8 d cout<<"第"<<. S1 ]: K! K) x3 E. |' V# C if((fabs(x-T))>r)r=fabs(x-T); " o8 C1 [; G7 u cout<<"第"<% K) m. a* a$ |- s } " C: e( y9 C( a* { cout</ U W' P8 {/ |7 N //cout<<"k="<" C' \1 Q& m- M4 a( M F $ Z$ E# m) B) o: d% o7 _, N //cout.setf(ios::fixed,ios::floatfield);+ ~ g9 r7 G9 A) k1 q1 d for(i=1;i<=N;i++)cout<<"k="<<<' ';//<3 X4 B [2 p4 {& j; l - F: y# X5 R Y6 N* q) T }cout</ t6 T5 Z8 ]& M" C; ] b6 ~0 ?9 K' v: S}
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 顶 踩

该用户从未签到

2
发表于 2004-4-14 22:24:00 | 只看该作者
高斯赛德乐迭代法9 a7 @' w( f% P" A. i
把这个算法弄上来看看
浩子 该用户已被删除
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 下一条

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